我正在部署web2py
个应用,我将通过Apache
通过mod_wsgi
投放该应用。我的虚拟主机配置中有以下WSGI指令:
WSGIDaemonProcess web2py user=www-data group=www-data \
display-name=%{GROUP}
WSGIProcessGroup web2py
WSGIScriptAlias / /var/www/web2py/wsgihandler.py
这是有效的,但它正在进行系统范围的python安装。结果,找不到一些包(因为它们只存在于我的virtualenv中)。我想告诉这个特定的虚拟主机(或整个Apache,如果没有其他办法),在我的虚拟环境中使用python安装(/home/myuser/.virtualenvs/python2.7.2/bin
)。
是否可以为Apache配置?或者更好,仅适用于我的虚拟主机?我想对系统的其余部分产生尽可能小的影响(具体来说,我不想修改系统范围内使用的默认python版本)
答案 0 :(得分:3)
在wsgihandler.py
中添加此内容...
activate_this = '/path/to/virtualenv/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this)
import sys
sys.path.insert(0, '/path/to/web2py_dir')