我有以下Supervisor配置
[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,问题是/home/ubuntu/code/utils/
没有被包含在我的PYTHONPATH中(我无法从那里导入模块)。 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-tk', '/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', '/usr/lib/pymodules/python2.7']
当在主管内部召集时,它是:
['/home/ubuntu/code/processing/stuff', '/', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/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', '/usr/lib/pymodules/python2.7']
注意在主管sys.path中有一个'/'条目?这是从哪里来的?
答案 0 :(得分:1)
从主管完全删除该过程并重新添加固定它(显然重读并没有正确地提取更改?)
如果您有更好的解释,请发帖。
答案 1 :(得分:1)
阐述@ ShaneReustle的回答我必须运行这些命令:
$ supervisorctl shutdown
$ supervisord