Definieren Sie den Sys-Pfad, der vom Python-Skript unter Crontab berücksichtigt werden soll

Definieren Sie den Sys-Pfad, der vom Python-Skript unter Crontab berücksichtigt werden soll

Angenommen, Sie haben die folgende Crontab-Definition:

* * * * * /home/dan/test.py

Angenommen, Sie haben den Pfad /home/dan/foo/, in dem foodas Verzeichnis ein Python-Modul mit dem Namen enthält foo.

Während es test.pyso aussieht:

import sys
sys.path.append('/home/dan')
from foo.foo1 import Foo1

So hat alles gut funktioniert, aber jetzt möchte ich die Pfaddefinition an cron übergeben und habe Folgendes getan:

  1. Auskommentiert sys.path.append('/home/dan')intest.py
  2. Diese Definition wurde über der Cronjob-Konfiguration zu Crontab hinzugefügt:

    PATH=/home/dan
    

Und es funktioniert nicht. Irgendeine Idee, warum?

Antwort1

Sie sollten Folgendes versuchen:

PYTHONPATH='/home/dan' python /home/dan/test.py

verwandte Informationen