使用带有mod_wsgi的Anaconda python

时间:2015-08-26 15:05:47

标签: python apache mod-wsgi anaconda

在使用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?

2 个答案:

答案 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