2017-03-16 4 views
0

Ich habe ein Skript, das perfekt von der Kommandozeile ausgeführt wird:Crontab Probleme mit Python-Skript

/home/anaconda2/bin/python /project_folder/script.py 

Ich habe einige Details unter:

$ echo $PYTHONPATH 
:/project_folder/ 

$ which python 
/home/anaconda2/bin/python 

der das Skript läuft perfekt, einwandfrei.

Dann von innerhalb crontab (was für ein anderes Skript, das keine lokalen Importprobleme hatte) erfolgreich war, kann ich das Skript nicht ausführen.

Crontab von Code, der nicht funktioniert:

PYTHONPATH=/project_folder 
* * * * * /home/anaconda2/bin/python /project_folder/script.py 

Nichts passiert. Es bringt mich um und ich habe viel Zeit damit verbracht, dieses herauszufinden - jede Hilfe, die ich sehr schätze.

+1

Stellen Sie sicher, dass alle Umgebungsvariablen definiert sind, die Ihr Skript benötigt. Cron führt nicht alle die gleichen Start-Skripte aus, auf denen eine interaktive Anmeldung ausgeführt wird. – GreenMatt

+0

Hier gibt es einige nützliche Tipps für Crons, die im Stillen versagen: http://unix.stackexchange.com/questions/207/where-are-cron-errors-logged –

+0

Wie würde ich das herausfinden? @GreenMatt (danke übrigens) – SteelyDanish

Antwort

0

Ich löste es durch Erstellen eines Wrapper-Shell-Skript. Hässlich, dass ich den Python-Pfad jedes Mal exportiere, aber es funktioniert.

#!/bin/bash 
export PYTHONPATH="${PYTHONPATH}:/project_folder" 
source ~/.bash_profile 
cd /project_folder && /my/anaconda/location/bin/python /project_folder/cript.py