Python 使用gunicorn时未加载虚拟环境路径
我有一个脚本可以加载安装在Python 使用gunicorn时未加载虚拟环境路径,python,virtualenv,virtualenvwrapper,Python,Virtualenv,Virtualenvwrapper,我有一个脚本可以加载安装在virtualenv from google.cloud import pubsub 当我像这样运行脚本时 (my_virtual_environment): python script.py 它起作用了。但是当我通过gunicorn gunicorn -c gunicorn_config.py script.py 我明白了 from google.cloud import pubsub ImportError: No module named cloud 当我
virtualenv
from google.cloud import pubsub
当我像这样运行脚本时
(my_virtual_environment): python script.py
它起作用了。但是当我通过gunicorn
gunicorn -c gunicorn_config.py script.py
我明白了
from google.cloud import pubsub
ImportError: No module named cloud
当我在两种情况下打印sys.path
时,我得到一种情况下的sys.path
包含virtualenv路径
[......., /Users/partuck/.virtualenvs/my_virtual_environment/lib/python2.7/plat-darwin',......]
在另一种情况下(通过gunicorn运行),我看不到它。
运行
pip freeze
时,会出现gunicorn
因此,gunicorn默认为先前加载的位置
我的解决方案是将cd放入目录中,然后运行gunicorn
命令
cd my_directory
<loads the virtualenv> using auto env # workon my_virtualenv
gunicorn -c gunicorn_config.py script.py
cd我的目录
在my_virtualenv上使用自动环境工作
gunicorn-c gunicorn_config.py script.py