[英]Cron job not running with python import modules
我需要在python腳本上運行cron作業以生成底圖圖。
腳本本身可以手動運行。
在程序開始時執行一個簡單的print("Hello")
,其余部分都注釋掉,在cron上也可以正常運行
*/10 * * * * /usr/bin/python3 ~/PythonFiles/TestScript.py > /dev/null 2>&1 >>log.txt
我使用chmod +x
使該文件成為可執行文件,並在程序開始時添加了shebang( #!/home/usr/anaconda3/bin/python
)。 我也可以在程序開始時通過打印的消息來監視日志文件中的活動
urllib.request, datetime, matplotlib, basemap, pygrib, numpy, ...
)的“普通”程序時,腳本隨后停止將任何內容輸出到log.txt 因此,我懷疑這與模塊及其位置有關。 我檢查了一下,發現它們似乎已安裝在各個地方(.../pkgs, .../conda-meta, .../site-packages
等)。
首先,我懷疑是正確的嗎?
其次,如何解決此問題,以便cron知道在哪里可以找到運行該作業的所有庫?
非常感謝!
我懷疑這與模塊位置路徑有關。 在瀏覽網站並調整對cron的輸入后,以下工作有效!
SHELL=/bin/sh
HOME=/home/stephane
PYTHONPATH=/home/stephane/anaconda3/bin/python
PATH=/home/stephane/anaconda3/lib/python3.6/site-packages
*/2 * * * * /home/stephane/anaconda3/bin/python ~/PythonFiles/TestScript.py >/dev/null 2>&1 >> log.txt
注意:matplotlib似乎需要“將matplotlib導入為mpl; mpl.use('Agg')”才能啟動cron。
謝謝大家!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.