在使用mod_wsgi时,我正在尝试将我的Apache服务器设置为使用Anaconda python而不是系统python。
这是我的Apache配置文件:
LoadModule wsgi_module modules/mod_wsgi.so
WSGIPythonHome /opt/anaconda/bin
WSGIPythonPath /opt/anaconda/bin:/opt/anaconda/pkgs
一旦启动服务器,我的错误日志就会充斥着
ImportError: No module named site
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
mod_wsgi是版本4.4.12,并使用与我的anaconda安装(2.7.10)相同的python版本进行编译。
我做错了什么?如何设置我的Apache配置文件以从非默认位置运行python?
答案 0 :(得分:3)
您的Python路径似乎设置不正确。进入你的Anaconda python并输入:
import site
site
应显示站点模块的目录。它应该是:python_path/lib/site.pyc
将您的Apache配置更改为:
WSGIPythonPath python_path:python_path/lib/site-packages
导入python_path
时,您在上面找到了site
。
答案 1 :(得分:1)
我迟到了,但我遇到了同样的问题。为了澄清@Ringil的解决方案,我使用系统安装的mod_wsgi在我的VirtualHost配置中包含了类似的内容:
WSGIDaemonProcess mysite python-path=/path/to/anaconda2/lib/python2.7/site-packages
请注意,正如@Ringil指出的那样,site-packages
目录需要位于PYTHONPATH
。