主管不更新PYTHONPATH变量

时间:2013-02-13 05:52:41

标签: ubuntu pythonpath supervisord

我有以下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中有一个'/'条目?这是从哪里来的?

2 个答案:

答案 0 :(得分:1)

从主管完全删除该过程并重新添加固定它(显然重读并没有正确地提取更改?)

如果您有更好的解释,请发帖。

答案 1 :(得分:1)

阐述@ ShaneReustle的回答我必须运行这些命令:

$ supervisorctl shutdown
$ supervisord