Я использую Apache 2.2.15 на CentOS 6.5. Я пытаюсь настроить приложение Django с помощью mod_wsgi.
Я использую виртуальную среду, а mod_wsgi настроен с помощью --with-python=/path/to/virtualenv/bin/python3.4
.
Я добавил это в свой httpd.conf
:
WSGIPythonPath /srv/myproject:/path/to/virtualenv/lib/python3.4/site-packages
WSGIPythonHome /path/to/virtualenv
<VirtualHost *:80>
WSGIScriptAlias / /srv/myproject/myproject/wsgi.py
...
</VirtualHost>
В wsgi.py
я добавил
sys.path.insert(1, "/path/to/virtualenv/lib/python3.4/site-packages")
Проблема в том, что когда я пытаюсь открыть приложение в своем браузере, он загружается неограниченно долго. Здесь журнал ошибок Apache:
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
[Mon Jun 30 17:37:28 2014] [notice] child pid 19370 exit signal Aborted (6)
[Mon Jun 30 17:37:28 2014] [notice] child pid 19371 exit signal Aborted (6)
...
[Mon Jun 30 17:37:28 2014] [notice] child pid 19377 exit signal Aborted (6)
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'
Интересно, что как при установке Python (2.6), так и в версии виртуальной среды (3.4), import encodings
работает отлично! Я попытался использовать пример WSGI script from страницу проверки mod_wsgiYourInstallation, чтобы подтвердить, какая версия Python используется Apache, но я получаю тот же ImportError.
Есть ли у кого-нибудь предложение для следующих шагов? Я просмотрел документы, но я не знаю, куда идти отсюда.