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

Posted anovana

tags:

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

写了一个监控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://blog.51cto.com/chenx1242/1922450

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

在 mac OS 上从 crontab 运行 git pull 命令问题

执行crontab作业时出现问题

使用 python 请求模块时出现 HTTP 503 错误

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

使用 GCC 4 在 Mac OS X 中安装 gammu 时出现 LONG_BIT 错误

在 Mac 上的 VS Code 中在 .NET6 MVC 项目上使用 Serilog 时出现问题