如何解决使用Crontab的ImportError
我正在尝试通过Mac上的crontab自动运行python脚本。
25 12 * * * sh /Users/simonwe/PycharmProjects/crawlerzon/crawler.sh
脚本看起来像这样
#!/bin/sh
export PYTHONPATH=/Users/simonwe/opt/anaconda3/bin/python
python /Users/simonwe/PycharmProjects/crawlerzon/crawler.py
当我在终端中手动运行它时,一切正常,但是在crontab中,它给了我这个错误:
From simonwe@Simons-iMac.local Wed Aug 19 12:25:02 2020
X-Original-To: simonwe
Delivered-To: simonwe@Simons-iMac.local
From: simonwe@Simons-iMac.local (Cron Daemon)
To: simonwe@Simons-iMac.local
Subject: Cron <simonwe@Simons-iMac> sh /Users/simonwe/PycharmProjects/crawlerzon/crawler.sh
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=simonwe>
X-Cron-Env: <USER=simonwe>
Date: Wed,19 Aug 2020 12:25:01 +0200 (CEST)
Traceback (most recent call last):
File "/Users/simonwe/PycharmProjects/crawlerzon/crawler.py",line 4,in <module>
import requests
ModuleNotFoundError: No module named 'requests'
我还尝试运行.py文件,以指定使用im的解释器的路径。
00 13 * * * /Users/simonwe/opt/anaconda3/bin/python /Users/simonwe/PycharmProjects/crawlerzon/crawler.py
但是我似乎完全忽略了该命令。
我发现了类似的问题,但尝试了所有答案:
很高兴为您提供建议!
解决方法
尝试使用完整的python路径。
/usr/bin/python /Users/simonwe/PycharmProjects/crawlerzon/crawler.py
找出python在哪里
where python
找到您的python。
但是,我的怀疑是您有多个python。而且您必须指向正确的一个。
如果仍然不确定,只需列出您使用的每个python的python软件包即可。
python -c 'help("modules")'
然后使用正确的Python运行您的python。
因为如上所述,您已经安装了默认python 和 anaconda python 。因此,默认情况下,您的代码默认情况下将指向Linux python2.7。这就是这里的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。