将 Anaconda python 与 mod_wsgi 一起使用

Using Anaconda python with mod_wsgi

我正在尝试将我的 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 安装 (2.7.10) 相同版本的 python 编译。

我做错了什么?如何将我的 Apache 配置文件从非默认位置设置为 运行 python?

您的 Python 路径似乎设置不正确。进入你的 Anaconda python 并输入:

import site
site

应该会显示您的站点模块的目录。它应该是这样的:python_path/lib/site.pyc

将您的 Apache 配置更改为:

WSGIPythonPath python_path:python_path/lib/site-packages

其中 python_path 是您在导入 site 时在上面找到的内容。

我迟到了,但我遇到了同样的问题。为了阐明@Ringil 的解决方案,我使用系统安装的 mod_wsgi:

在我的 VirtualHost 配置中包含了类似的内容
WSGIDaemonProcess mysite python-path=/path/to/anaconda2/lib/python2.7/site-packages

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