【问题标题】:Supervisor not updating PYTHONPATH variable主管未更新 PYTHONPATH 变量
【发布时间】:2013-01-28 15:04:04
【问题描述】:

我有以下主管配置

[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

问题是 /home/ubuntu/code/utils/ 根据 sys.path 未包含在我的 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']

当在 supervisor 内部调用时,它是: ['/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 中如何有一个“/”条目?这是哪里来的?

【问题讨论】:

    标签: ubuntu pythonpath supervisord


    【解决方案1】:

    从主管中完全删除进程并重新添加修复它(显然重读没有正确拉动更改?)

    如果你有更好的解释,请发表。

    【讨论】:

    【解决方案2】:

    详细说明@ShaneReustle 的答案,我必须运行这些命令:

    $ supervisorctl shutdown
    $ supervisord
    

    【讨论】:

      猜你喜欢
      • 2018-10-07
      • 1970-01-01
      • 2022-12-16
      • 2019-09-05
      • 2016-07-03
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      • 2021-10-14
      相关资源
      最近更新 更多