Ubuntu 主管未更新PYTHONPATH变量
我有下面的主管配置Ubuntu 主管未更新PYTHONPATH变量,ubuntu,pythonpath,supervisord,Ubuntu,Pythonpath,Supervisord,我有下面的主管配置 [program:do_thing] command = python -u stuff/do_thing.py directory = /home/ubuntu/code/processing environment = PYTHONPATH="$PYTHONPATH:/home/ubuntu/code/utils/" stdout_logfile = /mnt/log/do_thing.log redirect_stderr = true 问题是根据sys.path,我
[program:do_thing]
command = python -u stuff/do_thing.py
directory = /home/ubuntu/code/processing
environment = PYTHONPATH="$PYTHONPATH:/home/ubuntu/code/utils/"
stdout_logfile = /mnt/log/do_thing.log
redirect_stderr = true
问题是根据sys.path,我的PYTHONPATH中没有包含/home/ubuntu/code/utils/
(我无法从那里导入模块)。Sys.path显示除此之外的所有正确路径。我已经试着将它添加到我自己和root用户的.bashrc中,但他们没有被主管接受
主管没有正确更新环境变量,我做错了什么?你需要更多的信息吗?谢谢
我还注意到:在ubuntu用户中,sys.path是
['/home/ubuntu/code/processing'、'/home/ubuntu/code/utils'、'/usr/lib/python2.7'、'/usr/lib/python2.7/plat-linux2'、'/usr/lib/python2.7/lib-old'、'/usr/lib/python2.7/lib-dynload'、'/usr/local/lib/python2.7/dist-packages'、'/usr/lib/python2.7/python2.7/python2'>
当被称为内部主管时,它是:
['/home/ubuntu/code/processing/stuff'、'/'、'/usr/lib/python2.7'、'/usr/lib/python2.7/plat-linux2'、'/usr/lib/python2.7/lib-old'、'/usr/lib/python2.7/lib-dynload'、'/usr/local/lib/python2.7/dist-packages'、'/usr/lib/python2.7/dist-packages'>
注意在supervisor sys.path中有一个“/”条目吗?这是从哪里来的?完全从主管那里删除流程,然后重新添加并修复它(显然,重新读取并没有正确地进行更改?)
如果您有更好的解释,请发布。详细说明@shanerustle的答案,我必须运行以下命令:
$ supervisorctl shutdown
$ supervisord
我也无法使用evironment
更新路径,但我在这个问题上找到了一个解决方案:HTH