2014-02-09 36 views
1

我想使用Python(2.7),flask,apache2,mod_wsgi和Enthought Canopy虚拟环境(使用Canopy附带的canopy_cli命令行界面创建的)创建网站。我之前完成了这个工作,而dreamhost上的live版本似乎可以在passenger_wsgi shenanigans中正常运行。树冠enthought虚拟环境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的服务器上运行它,我得到一个错误:

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脚本可以正常激活),或者学习如何在我的家中设置passenger_wsgi机。

也就是说,除非有人在成功之前完成了这个任务,并且可以告诉我如何让一个wsgi脚本/烧瓶网站在Canopy虚拟环境中运行?

回答

2

去阅读:

Apache下的mod_wsgi的模块使用Python作为一个嵌入式系统,它只是没有任何意义,做os.execl()。使用os.getcwd()也没什么意义,因为工作目录不会是你的源代码的地方。

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

+0

另请参阅https://support.enthought.com/entries/21802240-Use-venv-not-virtualenv-with-Canopy-Python –