Развертывание Django на Windows server 2019 с помощью xampp дает ModuleNotFoundError: Нет модуля с именем '_socket'\r
Я пытаюсь разместить приложение django на Windows Server 2019 с помощью XAMPP, и после выполнения всех настроек, необходимых для запуска приложения, я получаю Internal Server Error.
Вот моя установка:
Запуск на venv, выполнение pip freeze дает:
(envcrm)
DECRM@CRM2 MINGW64 /c/xampp/htdocs/crm
$ pip freeze
asgiref==3.6.0
Django==4.1.5
mod-wsgi==4.9.4
mysqlclient==2.1.1
sqlparse==0.4.3
tzdata==2022.7
Django App находится в C:\xampp\htdocs\crm\decrm
Структура директории:
C:\xampp\htdocs\crm
|--decrm -> python project
|--envcrm -> virtual environment
|--mydecrm -> app
|--static -> static folder for the apps
|--templates -> templates folder for the apps
|--users -> app
Также поместил MOD_WSGI_APACHE_ROOTDIR в переменные окружения, чтобы иметь возможность сделать успешный
pip install mod_wsgi
Что касается httpd.conf
, вот мои настройки для WSGI:
LoadFile "C:/Users/DECRM/AppData/Local/Programs/Python/Python311/python311.dll"
LoadModule wsgi_module "C:/xampp/htdocs/crm/envcrm/Lib/site-packages/mod_wsgi/server/mod_wsgi.cp311-win_amd64.pyd"
WSGIPythonHome "C:/xampp/htdocs/crm/envcrm"
WSGIScriptAlias / "c:/xampp/htdocs/crm/decrm/wsgi.py"
WSGIPythonPath "c:/xampp/htdocs/crm"
<Directory "c:/xampp/htdocs/crm/decrm/">
<Files wsgi.py>
Require all granted
</Files>
</Directory>
Alias /static "c:/xampp/htdocs/crm/static/"
<Directory "c:/xampp/htdocs/crm/static/">
Require all granted
</Directory>
при этом я получаю внутреннюю ошибку сервера с такими данными в журнале ошибок:
Я просто не знаю, где искать дальше, особенно для модуля _socket
.
Другие подробности:
Apache/2.4.54 (Win64)
mod_wsgi/4.9.4
Python/3.11
Может быть, я что-то упустил или неправильно настроил? Заранее спасибо за помощь!
Файл "_socket.pyd" был установлен в папку DLLs Python. Поэтому измените файл "wsgi.py", чтобы добавить папку DLLs к "sys.path" следующим образом.
import os, sys
sys.path.append("C:/Users/username/AppData/Local/Programs/Python/Python3xx/DLLs")
from django.core.wsgi import get_wsgi_application
(продолжение...)
*Поскольку команда "from ~ import" разрешена, добавьте функцию "sys.path.append()" выше фразы "from django.core.wsgi import get_wsgi_application".