python-crontab und die Pfade

Habe ich ein Python-Treiber und library-Skripts, die Geschwister sind:

/home/mydir/pythonProjs/
  • driver.py

  • lib.py

In driver.py ich habe die Zeile:

from lib import method1

Den folgenden Erfolg meine Befehlszeile unter Linux:

python /home/mydir/pythonProjs/driver.py

Aber wenn ich versuche, Folgendes in die crontab:

10 1 * * * export PYTHONPATH=~/mydir/pythonProjs; python /home/mydir/pythonProjs/driver.py

Bekomme ich die Fehlermeldung:

ImportError: No module named lib.method1

Habe ich auch versucht, ändern der path-Einstellung in meiner crontab Befehl aus, um den vollqualifizierten Pfad /home/mydir/pythonProjs, weglassen der 'export', und haben auch versucht zu schreiben .sh-Dateien (mit der erforderlichen #!bin/bash...)

Habe ich eine Forschungsfrage und ein follow-up-Frage:
main: Was ist ein best-practice-Methode zur Behebung meines Problems?
follow-up: Was ist die Philosophie hinter cron mit anderen Pfad zuzugreifen, als meine shell?

Bevor ich runter gestimmt zu schnell, ich will noch erwähnen, dass ich die gelesen, aber nicht erfolgreich waren (oder richtig analysiert wird) die folgenden:
- Wo kann ich das setzen von Umgebungsvariablen, die crontab verwenden?
- Crontab Probleme läuft Python
- http://pythonadventures.wordpress.com/2012/03/31/calling-a-python-script-from-crontab/

InformationsquelleAutor Quetzalcoatl | 2014-09-02
Schreibe einen Kommentar