天天看點

crontab調用python時出現ImportError: No module named XXX的問題

1

<code>* * * * * </code><code>cd</code> <code>/目錄  &amp;&amp;  python  mq腳本名.py  &gt;</code><code>/root/mq</code><code>.log 2&gt;&amp;1</code>

将執行的結果發送到/root/mq.log裡,打開一看裡面出現了這樣的錯誤:

<a href="https://s5.51cto.com/wyfs02/M00/94/AE/wKiom1kMKxnz8iaZAACRhozHUls666.png" target="_blank"></a>

但是在shell裡單獨執行是OK的,于是添加了 source /etc/profile還是報錯,可見不是環境變量的問題,怎麼辦?

首先,#which python,确定python的路徑:

<a href="https://s4.51cto.com/wyfs02/M01/94/AE/wKiom1kMLEfQAQ5OAAAPfClEhe0780.png" target="_blank"></a>

把整個python的路徑都複制進crontab裡去,整個#crontab -l的效果就成了這樣:

<code>* * * * * </code><code>source</code> <code>/etc/profile</code> <code>&amp;&amp; </code><code>cd</code> <code>/目錄 &amp;&amp; </code><code>nohup</code> <code>/usr/local/bin/python</code> <code>mq腳本名.py &gt;</code><code>/root/mq</code><code>.log 2&gt;&amp;1</code>

如果一台機器上裝有多個版本的python,更是要指明python 的路徑,不然crontab就會笨笨的去找預設路徑。

 本文轉自 蘇幕遮618 51CTO部落格,原文連結:http://blog.51cto.com/chenx1242/1922450