Кіраўнік - Запуск праблемы PYTHONPATH пітон скрыпт

Я выкарыстоўваю супервизор для запуску пітона скрыпту:

[program:twitter_track]
autorestart = true
numprocs = 1
autostart = false
redirect_stderr = True
stopwaitsecs = 1
startsecs = 1
priority = 99
command = python /home/ubuntu/services/twitter.py track
startretries = 3
stdout_logfile = /home/ubuntu/logs/twitter_track.log

Але гэты працэс не запускаецца. Вось што кажа часопіс памылак:

Traceback (most recent call last):
  File "/home/ubuntu/services/twitter.py", line 6, in 
    from mymodule.twitter.stream import TwitterStream
ImportError: No module named mymodule.twitter.stream
Traceback (most recent call last):
  File "/home/ubuntu/services/twitter.py", line 6, in 

Здаецца, што атрымаць MyModule, але калі я бег twitter.py па сабе, усё працуе выдатна, ён выкідвае толькі гэтую памылку, калі я запускаю яго праз дыспетчар.

Я дадаў MyModule да PYTHONPATH ў маім ~/.profile, як так:

export PYTHONPATH=$PYTHONPATH:/home/ubuntu/lib

Ці ёсць прычына, чаму скрыпт будзе працаваць пры запуску праз тэрмінал, але не тады, калі праходзіць праз кіраўнік? Любая дапамога будзе ацэнена.

11

2 адказы

Дадайце PYTHONPATH вызначэнне да асяроддзя дырэктывы ў файле канфігурацыі supervisord. Яна павінна ісці пад [праграмы: twitter_track] раздзел, напрыклад, так:

environment=PYTHONPATH=/home/ubuntu/lib/

Гэта гарантуе, што што ваш працэс пітон бачыць правільны PYTHONPATH калі supervisord запускае яго.

27
дададзена

Дадайце вызначэнне PYTHONPATH да навакольнага асяроддзя:

[program:twitter_track]
command = python /home/ubuntu/services/twitter.py track
environment=PYTHONPATH=/home/ubuntu/lib
0
дададзена