Я использование супервизора для запуска скрипта Python:
[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 <module>
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 <module>
Кажется, что получил mymodule, но если я запускаю twitter.py сам по себе, все работает нормально, эта ошибка возникает только тогда, когда я запускаю его через супервизор.
Я добавил mymodule в PYTHONPATH в моем файле ~ / .profile следующим образом:
export PYTHONPATH=$PYTHONPATH:/home/ubuntu/lib
Есть ли причина, по которой скрипт будет работать при запуске через терминал, но не при запуске через супервизор? Любая помощь будет оценена по достоинству.