Я пытаюсь настроить flask веб-сайт в Ubuntu 18.04, используя python3 .8. Я следую нескольким учебникам по настройке всего, но я достиг точки остановки, когда я сталкиваюсь со следующей ошибкой в /var/log/apache2/error.log
[Sat Feb 08 18:29:08.089321 2020] [wsgi:warn] [pid 16992:tid 140217694870464] (2)No such file or directory: mod_wsgi (pid=16992): Unable to stat Python home Xeplin/venv. Python interpreter may not be able to be initialized correctly. Verify the supplied path and access permissions for whole of the path.
Python path configuration:
PYTHONHOME = 'Xeplin/venv'
PYTHONPATH = (not set)
program name = 'python3'
isolated = 0
environment = 1
user site = 1
import site = 1
sys._base_executable = '/usr/bin/python3'
sys.base_prefix = 'Xeplin/venv'
sys.base_exec_prefix = 'Xeplin/venv'
sys.executable = '/usr/bin/python3'
sys.prefix = 'Xeplin/venv'
sys.exec_prefix = 'Xeplin/venv'
sys.path = [
'Xeplin/venv/lib/python38.zip',
'Xeplin/venv/lib/python3.8',
'Xeplin/venv/lib/python3.8/lib-dynload',
]
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'
Я нашел много уникальных ответов для подобных ситуаций, но ни один из них похоже, что эта ошибка устранена.
Я попытался открыть все разрешения для виртуального окружения, открыть разрешения для всей моей структуры папок и несколько других вещей, которые я по сути копирую и вставляю из различных потоков stackoverflow.
Я делаю все это в первый раз, поэтому я не уверен, какие файлы имеют отношение к решению этой проблемы. Я приведу здесь несколько вещей.
tail /etc/apache2/mods-available/wsgi.conf
#The WSGILazyInitialization directives sets whether or not the Python
#interpreter is preinitialised within the Apache parent process or whether
#lazy initialisation is performed, and the Python interpreter only
#initialised in the Apache server processes or mod_wsgi daemon processes
#after they have forked from the Apache parent process.
#WSGILazyInitialization On|Off
</IfModule>
WSGIPythonHome "/home/ubuntu/Xeplin/venv"
(я добавил здесь python home. Остальные файлы по умолчанию)
cat /etc/apache2/mods-available/wsgi.load
LoadModule wsgi_module "/usr/lib/apache2/modules/mod_wsgi-py38.cpython-38-x86_64-linux-gnu.so"
Если предыдущие попытки отладки могли повлиять на мое получение этой ошибки, мне ранее приходилось устанавливать mod_wsgi, которая не работала, когда моя виртуальная среда была активной, но работала после деактивации. После запуска python3.8 -m pip install mod_wsgi
вне моей венвы я смог запустить pip install mod_wsgi
внутри env. Я нашел это странным, поэтому я упоминаю об этом здесь.