我在CentOS 6.5上使用Apache 2.2.15.我正在尝试使用mod_wsgi设置Django应用程序.我正在使用虚拟环境,并且配置了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/virtualenvWSGIScriptAlias / /srv/myproject/myproject/wsgi.py ...
在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
工作正常!我已经尝试使用mod_wsgi CheckingYourInstallation页面中的示例WSGI脚本来确认Apache正在使用哪个版本的Python,但是我得到了相同的ImportError.
有没有人对后续步骤有什么建议?我已经搜过了文档,但我不知道从哪里开始.