gpt4 book ai didi

python - Canopy enthought 虚拟环境 wsgi

转载 作者:行者123 更新时间:2023-12-01 05:24:28 25 4
gpt4 key购买 nike

我正在尝试使用 Python(2.7)、flask、apache2、mod_wsgi 和 Enthought Canopy 虚拟环境(使用 Canopy 附带的 canopy_cli 命令行界面创建)制作一个网站。我以前曾经这样做过,并且 Dreamhost 上的现场版本似乎与他们的 Passenger_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 在我的开发服务器上运行它时,出现错误:

Premature end of script headers: dev.wsgi

/home/user/project/env/bin/python: can't open file 'mod_wsgi': [Errno 2] No such file or directory

所以我想我的选择是要么使用 virtualenv 在开发服务器上创建一个正常的虚拟环境(它将有一个 activate_this.py 脚本,可以通过正常方式激活),或者学习如何在我的家用机。

也就是说,除非有人之前成功完成过此操作并且可以告诉我如何让 wsgi 脚本/flask 站点在 Canopy 虚拟环境中运行?

最佳答案

去阅读:

Apache下的mod_wsgi模块使用Python作为嵌入式系统,执行os.execl()没有任何意义。使用 os.getcwd() 也没有多大意义,因为工作目录不会是源代码所在的位置。

无论如何,请阅读该链接以了解如何在 Apache/mod_wsgi 中设置虚拟环境。

关于python - Canopy enthought 虚拟环境 wsgi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21663240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com