在开发和测试项目时,我曾经使用virtualenvwrapper来管理环境并运行它:
workon myproject python myproject.py
当然,一旦进入了正确的virtualenv,我就使用了正确版本的Python和其他相应的库来运行我的项目。
现在,我想使用Supervisord来管理准备部署的同一项目。问题是在执行脚本之前告诉Supervisord激活正确的virtualenv的正确方法是什么?我是否需要编写一个单独的bash脚本来执行此操作,然后在Supervisord配置文件的命令字段中调用该脚本?
从命令行使用virtualenv的一种方法是使用位于virtualenv内部的python可执行文件。
对我来说,我的.virtualenvs目录中有我的虚拟环境。例如
.virtualenvs
/home/ubuntu/.virtualenvs/yourenv/bin/python
没有必要 workon
workon
对于supervisor.conf管理龙卷风应用程序,我这样做:
supervisor.conf
command=/home/ubuntu/.virtualenvs/myapp/bin/python /usr/share/nginx/www/myapp/application.py --port=%(process_num)s