crontab调用python时出现ImportError: No module named XXX的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了crontab调用python时出现ImportError: No module named XXX的问题相关的知识,希望对你有一定的参考价值。

在 http://chenx1242.blog.51cto.com/10430133/1884415 里写了一个监控mq的脚本,把这个脚本加入crontab里进行时刻监控,于是#crontab -e,添加语句:

* * * * * cd /目录  &&  python  mq脚本名.py  >/root/mq.log 2>&1


将执行的结果发送到/root/mq.log里,打开一看里面出现了这样的错误:

技术分享


但是在shell里单独执行是OK的,于是添加了 source /etc/profile还是报错,可见不是环境变量的问题,怎么办?


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

技术分享


把整个python的路径都复制进crontab里去,整个#crontab -l的效果就成了这样:

* * * * * source /etc/profile && cd /目录 && nohup /usr/local/bin/python mq脚本名.py >/root/mq.log 2>&1


如果一台机器上装有多个版本的python,更是要指明python 的路径,不然crontab就会笨笨的去找默认路径。


本文出自 “生活就是等待戈多” 博客,请务必保留此出处http://chenx1242.blog.51cto.com/10430133/1922450

以上是关于crontab调用python时出现ImportError: No module named XXX的问题的主要内容,如果未能解决你的问题,请参考以下文章

执行crontab作业时出现问题

Python 看不到 pygraphviz

带有 Python OpenCV 的 ImportError(未定义符号)

通过 shell 调用 python 时出现模块问题

python不同包之间调用时出现文件模块不存在的问题

通过python进行请求时出现SSL证书错误