我正在尝试使用 Python(2.7)、flask、apache2、mod_wsgi 和 Enthought Canopy 虚拟环境(使用canopy_cli
Canopy 附带的命令行界面创建)创建一个网站。我以前做过这个,dreamhost 上的现场版本似乎与他们的乘客 wsgi 恶作剧运行良好。
我正在尝试在家里的旧笔记本电脑上制作开发服务器。我以相同的方式设置了venv。我不知道要在 WSGI 文件中插入什么来使它使用这个虚拟环境。对于普通的虚拟环境,在 env/bin/ 目录中有一个“activate_this.py”脚本,但在 Canopy venv 中没有。
在 dreamhost 上,他们建议在 wsgi 文件中使用以下语法:
INTERP = os.path.join(os.environ['HOME'], 'project', 'env', 'bin', 'python')
if sys.executable != INTERP:
os.execl(INTERP, INTERP, *sys.argv)
sys.path.append(os.getcwd())
在passenger_wsgi中运行良好,但是当我使用mod_wsgi在我的开发服务器上运行它时出现错误:
脚本头过早结束:dev.wsgi
/home/user/project/env/bin/python: 无法打开文件 'mod_wsgi': [Errno 2] 没有这样的文件或目录
所以我想我的选择是使用 virtualenv 在开发服务器上创建一个普通的虚拟环境(这将有一个可以以正常方式激活的 activate_this.py 脚本),或者学习如何在我的家用机器上设置passenger_wsgi。
也就是说,除非有人之前成功地做到了这一点,并且可以告诉我如何让 wsgi 脚本/烧瓶站点在 Canopy 虚拟环境中运行?