Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cron未启动正常工作的python脚本_Python_Cron_Python 3.5_Libraries - Fatal编程技术网

cron未启动正常工作的python脚本

cron未启动正常工作的python脚本,python,cron,python-3.5,libraries,Python,Cron,Python 3.5,Libraries,让克朗在我的树莓皮3b上工作,我有很多麻烦。 我写了一个python脚本,从thonny或terminal启动它没有问题,它运行平稳 但是,以以下方式启动cron作业时(根据测试时间相应更改分钟和小时): 我收到以下错误消息: Traceback (more recent call last): File "/home/pi/main.py", line 9, in <module> import tweepy ImportError: No

让克朗在我的树莓皮3b上工作,我有很多麻烦。 我写了一个python脚本,从thonny或terminal启动它没有问题,它运行平稳

但是,以以下方式启动cron作业时(根据测试时间相应更改分钟和小时):

我收到以下错误消息:

Traceback (more recent call last):
   File "/home/pi/main.py", line 9, in <module>
       import tweepy
ImportError: No module named 'tweepy'
这是一个与正在运行的Cron版本相关的问题

我试图更新到最新版本,但没有结果

我开始没主意了,
任何帮助都将不胜感激。

如果您正在运行一个虚拟环境,您在shell脚本中的路径需要用于该虚拟环境。下面是我如何在AWS linux实例上运行shell。你可以随便玩玩,但我花了一段时间才弄明白。也许只需在cron中添加长环境路径并跳过shell脚本

这是在我的壳里面

/usr/local/bin/pipenv run ~/.local/share/virtualenvs/ec2-user-zzkNbF-x/bin/python /home/ec2-user/my_path_to_file/my_file.py
这是我的crontab设置

0 21 * * mon-fri /home/ec2-user/my_path_to_file/my_shell.sh

从脚本工作的终端,例如,如果使用
python3 main.py
运行脚本,请查看
哪个python3
的输出。它是否与cron作业中的相同(
/usr/bin/python3
)?是的。同样的路径很好,那么您能说出您使用的是哪个
crontab
,系统范围的
/etc/crontab
还是用户特定的?作为能够很好地运行脚本的用户,您可以使用
crontab-e
来编辑特定于用户的脚本。我相信可以使用系统范围的脚本,谢谢。我一到家就确认。此外,我还编辑了这个问题,如果使用
crontab-e
将命令添加到用户的crontab将不起作用,那么下一步应该是检查终端和cronjob中的
sys.path
是否相同。在您的工作终端中,您是否可以运行
python3-msite
并记录输出?然后运行
crontab-e
并添加
***/usr/bin/python3-m site>/home/out.txt
(或类似内容)。等待一分钟,然后将
out.txt
中的文本与上一个命令的输出进行比较…Thx Jonathan。我试试看。我是一个noob,但也许这是我游戏的前进方向,我没有使用虚拟环境。不过,我还是要试一试!如果您没有使用虚拟环境,这不是您的问题,但找到正确的路径是非常重要的。但你的错误本身听起来不像是一个cron问题。这是关于定位tweepy的问题。我设法让tweepy在cron中工作,但现在问题出在beautifulsoup上。你介意帮我找到正确的路吗?提出一个新问题。最好让整个论坛来寻找好的解决方案。你是对的。谢谢你的建议
/usr/local/bin/pipenv run ~/.local/share/virtualenvs/ec2-user-zzkNbF-x/bin/python /home/ec2-user/my_path_to_file/my_file.py
0 21 * * mon-fri /home/ec2-user/my_path_to_file/my_shell.sh