簡體   English   中英

Cron作業未與python導入模塊一起運行

[英]Cron job not running with python import modules

我需要在python腳本上運行cron作業以生成底圖圖。

  1. 腳本本身可以手動運行。

  2. 在程序開始時執行一個簡單的print("Hello") ,其余部分都注釋掉,在cron上也可以正常運行
    */10 * * * * /usr/bin/python3 ~/PythonFiles/TestScript.py > /dev/null 2>&1 >>log.txt

我使用chmod +x使該文件成為可執行文件,並在程序開始時添加了shebang( #!/home/usr/anaconda3/bin/python )。 我也可以在程序開始時通過打印的消息來監視日志文件中的活動

  1. 當我運行包含模塊( 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM