Apache, Django и wsgi, нет модуля с именем «encodings» - PullRequest
1 голос
/ 07 мая 2020

Я просмотрел много вопросов о переполнении стека с теми же проблемами, но ни один из них не решил мою проблему. Я пытаюсь развернуть Django на AWS - Ubuntu 18.04, используя Apache и WSGI.

При запуске моего веб-сайта с серверами Django на порту 8000 все работает нормально. Затем, когда я пытаюсь запустить на apache, я получаю следующую ошибку в моих журналах.

Apache/2.4.29 (Ubuntu) mod_wsgi/4.5.17 Python/3.6 configured -- resuming normal operations
Command line: '/usr/sbin/apache2'
(2)No such file or directory: mod_wsgi: Unable to stat Python home /var/www/html/projects/venv
Python interpreter may not be able to be initialized correctly. Verify the supplied path
and access permissions for whole of the path.
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ModuleNotFoundError: No module named 'encodings'

Как ясно сказано, mod_wsgi и Python 3 настроены. Я использую виртуальную среду. Мой проект расположен по адресу:

/var/www/html/project/venv/mysite

Мой Apache conf файл настроен как:

<Directory /var/www/html/projects/venv/mysite/mysite>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

WSGIDaemonProcess mysite python-path=/var/www/html/projects/venv/mysite python-home =/var/www/html/projects/venv
WSGIProcessGroup mysite
WSGIScriptAlias / /var/www/html/projects/venv/mysite/mysite/wsgi.py

Alias /static /var/www/html/projects/venv/mysite/polls/static
<Directory /var/www/html/projects/venv/mysite/polls/static>
    Require all granted
</Directory>

Я не уверен, куда go отсюда. Я не совсем понимаю, что означает ошибка. У меня на Venv установлено Python. Существует файл pyenv.conf, который читает

home = /usr
implementation = CPython
version_info = 3.6.9.final.0
virtualenv = 20.0.20
include-system-site-packages = false
base-prefix = /usr
base-exec-prefix = /usr
base-executable = /usr/bin/python3

. Мне интересно, отличается ли этот путь базового исполняемого файла от моего пути python в конфигурационном файле apache, но я ' m не совсем уверен, что мне нужно делать отсюда (или это даже часть проблемы. Я считаю, что разрешения не должны быть проблемой, поскольку я добавил все свои файлы в папку var / www/html.

Обновление: я добавил рекомендуемые разрешения ко всем файлам в цепочке, и это ничего не изменило.

Любые советы приветствуются.

...