Definieren Sie den sys-Pfad, den das Python-Skript unter crontab berücksichtigt

346
guest12345678

Stellen Sie sich vor, Sie haben die folgende Crontab-Definition:

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

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

Während test.pysieht aus wie:

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

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

  1. Auskommentiert sys.path.append('/home/dan')intest.py
  2. Zum crontab dieser Definition oberhalb der Cronjob-Konfiguration hinzugefügt:

    PATH=/home/dan 

Und es funktioniert nicht. Irgendeine Idee warum?

0
Sie benötigen wahrscheinlich mehr die Umgebungsvariable `PYTHONPATH` als die` PATH'-Variable Patrick Mevzek vor 6 Jahren 1

1 Antwort auf die Frage

0
AnythingIsFine

Sie sollten dies versuchen:

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