使用Anaconda Python和mod_wsgi

3

我希望将我的Apache服务器配置为在使用mod_wsgi时使用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安装相同的python版本(2.7.10)。

我做错了什么?如何设置Apache配置文件以从非默认位置运行Python?

2个回答

3

看起来你的Python路径设置不正确。进入你的Anaconda Python并输入以下命令:

import site
site

您的站点模块目录应该被显示出来,它应该类似于:python_path/lib/site.pyc

更改Apache配置为:

WSGIPythonPath python_path:python_path/lib/site-packages

其中python_path是在导入site时找到的东西。


那个配置文件在哪里?请完整回答。 - Soren

1
我很晚才了解到这个问题,但我遇到了同样的问题。为了澄清@Ringil的解决方案,我在我的VirtualHost配置中使用了类似以下的内容,使用系统安装的mod_wsgi:
WSGIDaemonProcess mysite python-path=/path/to/anaconda2/lib/python2.7/site-packages

请注意,正如@Ringil指出的那样,site-packages目录需要在PYTHONPATH上。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接