【发布时间】:2018-08-14 13:07:36
【问题描述】:
我想做什么?
激活 tensorflow_p36 环境并运行python wsgi.py
我的supervisord.conf 文件是什么样的?
[program:my_program]
command = /home/ec2-user/anaconda3/envs/tensorflow_p36/bin/python /home/ec2-user/abc/wsgi.py
directory= /home/ec2-user/abc/
environment=PATH= "/home/ec2-user/anaconda3/envs/tensorflow_p36/bin"
user= ec2-user
redirect_stderr = True
stdout_logfile = /home/ec2-user/abc/logs/gunicorn/gunicorn_stdout.log
stderr_logfile = /home/ec2-user/abc/logs/gunicorn/gunicorn_stderr.log
该文件位于默认的 /etc/supervisord.conf 位置。
到目前为止我尝试了什么?
我尝试了this question 的所有解决方案,但安装在该虚拟环境中的模块没有被导入。例如,我在导入 tensorflow、flask 等时遇到错误。然而,当我在 source activate tensorflow_p36 之后在终端中执行相同的命令时,它工作得很好。
我还尝试对this answer 中建议的多个程序进行分组,我在第一个程序中激活虚拟环境并在第二个程序中运行 python 命令并将它们组合在一起。没用,仍然遇到同样的导入错误。
额外信息:
当我运行 sudo service supervisord restart 时,我收到以下消息:
停止supervisord:[确定]
启动 supervisord:/usr/local/lib/python2.7/site-packages/supervisor-3.3.4-py2.7.egg/supervisor/options.py:461:UserWarning:Supervisord 以 root 身份运行并且它正在默认位置(包括其当前工作目录)中搜索其配置文件;您可能想要指定一个“-c”参数来指定配置文件的绝对路径以提高安全性。 'Supervisord 以 root 身份运行并且正在搜索' [好的]
【问题讨论】:
标签: python virtualenv supervisord