2017-03-16 87 views
0

crontab的問題,我有一個命令行完美運行的腳本:用python腳本

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

我加了下面的一些細節:

$ echo $PYTHONPATH 
:/project_folder/ 

$ which python 
/home/anaconda2/bin/python 

哪個完美運行腳本,完美無缺。

然後從crontab中(對於沒有本地導入問題的其他腳本已成功),我無法運行該腳本。

的代碼crontab的不工作:

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

什麼也沒有發生。這讓我非常痛苦,大部分時間都在努力想辦法解決這個問題 - 非常感謝任何幫助。

+1

確保您的腳本需要的任何環境變量都已定義。 Cron不會運行交互式登錄運行的所有相同的啓動腳本。 – GreenMatt

+0

這裏有一些有用的提示,用於靜默失敗的cron:http://unix.stackexchange.com/questions/207/where-are-cron-errors-logged –

+0

我會如何去弄清楚@GreenMatt(謝謝btw ) – SteelyDanish

回答

0

我通過創建一個包裝shell腳本來解決它。醜,因爲我每次都會輸出python路徑,但它很有效。

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