Supervisor - Ausführen eines python-Skript PYTHONPATH Problem
Ich bin mit Vorgesetzten führen Sie ein python-Skript:
[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
Aber der Prozess wird nicht gestartet. Hier ist, was die error-log sagt:
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>
Scheint es, dass erhalten mymodule, aber wenn ich twitter.py auf seine eigene, alles funktioniert gut, nur wirft diese Fehlermeldung, wenn ich es durch supervisor.
Fügte ich mymodule der PYTHONPATH in meiner ~/.Profil-Datei, etwa so:
export PYTHONPATH=$PYTHONPATH:/home/ubuntu/lib
Gibt es einen Grund, warum das Skript funktionieren würde, wenn run through terminal, aber nicht beim laufen durch Vorgesetzte? Jede Hilfe würde geschätzt werden.
InformationsquelleAutor Hanpan | 2011-10-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie die
PYTHONPATH
definition derenvironment
Richtlinie in der supervisord Konfigurationsdatei. Es sollte gehen Sie unter Ihrem[program:twitter_track]
Abschnitt, etwa so:Dadurch wird sichergestellt, dass Ihre python-Prozess sieht die richtige
PYTHONPATH
wenn supervisord beginnt es.InformationsquelleAutor Darren Griffith
Fügen Sie die PYTHONPATH-definition der Umgebung:
InformationsquelleAutor Eds_k