【发布时间】:2015-08-15 08:58:39
【问题描述】:
我的第一篇文章,我是 Python 和 Apache 的新手,所以请放轻松。我在 conda 环境中有一个 Python Web 应用程序,可以使用 Flask 很好地提供内容。现在我需要使用 Apache 而不是 Flask 来提供所有服务。我可以让 Apache 使用 mod_wsgi 运行 Python,但只能使用 virtualenv。我尝试使用 Anaconda 安装 virtualenv,但收到警告说这种设置不受支持且不推荐。所以我的问题是:
如何设置 Apache 以在 conda 环境中运行我的应用程序?
Here,有一节是关于使用虚拟环境的,它说我需要在我的 wsgi 文件中输入一行,显示在哪里可以找到 activate_this.py。 virtualenv 虚拟环境有 activate_this.py,但 conda 环境没有。似乎没有正确的激活虚拟环境的说明,我的浏览器中出现错误 500,并且我的 httpd error_log 中出现“导入错误:没有名为 flask 的模块”。
这是在我的 httpd.conf 文件中:
<VirtualHost *:80>
DocumentRoot /var/www
WSGIScriptAlias / var/www/tsm.wsgi
<Directory /var/www/tsm>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
这里是 tsm.wsgi:
import sys
import site
site.addsitedir('~/.conda/envs/tsm/lib/python2.7/site-packages')
sys.path.insert(0, '/var/www/tsm/server/time_series_machine')
sys.stdout = sys.stderr
from app import app as application
有什么想法吗?感谢您提供的任何帮助。
【问题讨论】:
标签: python apache mod-wsgi anaconda conda