繁体   English   中英

Python脚本在crontab中不起作用,但是在没有

[英]Python script not working in crontab, but works fine without

我在过去的crontab配置文件中使用了这样的文件,没有问题

PATH=/opt/local/bin:/opt/local/sbin:/usr/local/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
0 * * * * source /Users/bezoadam/Documents/FIT/6.semester/BP/bp1/bin/activate; /usr/bin/env python3 /Users/bezoadam/Documents/FIT/6.semester/BP/twitter_down.py --hashtag
0 * * * * source /Users/bezoadam/Documents/FIT/6.semester/BP/bp1/bin/activate; /usr/bin/env python3 /Users/bezoadam/Documents/FIT/6.semester/BP/facebook_down.py

比我编辑python文件并将其粘贴到/ BP_FINAL目录中,并像这样使用新的crontab

PATH=/opt/local/bin:/opt/local/sbin:/usr/local/bin:/Library/Frameworks/Python.framework/Versions/3.5/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/bezoadam/Documents/FIT/6.semester/BP/BP_FINAL
0 * * * * source /Users/bezoadam/Documents/FIT/6.semester/BP/bp1/bin/activate; /usr/bin/env python3 /Users/bezoadam/Documents/FIT/6.semester/BP/BP_FINAL/twitter_down.py --hashtag
0 * * * * source /Users/bezoadam/Documents/FIT/6.semester/BP/bp1/bin/activate; /usr/bin/env python3 /Users/bezoadam/Documents/FIT/6.semester/BP/BP_FINAL/facebook_down.py

现在每次运行都会从python文件中引发错误

FileNotFoundError: [Errno 2] No such file or directory: 'new_emoji_sentiment.json'

当我在终端中运行脚本时,一切正常。 我认为$PATH存在问题,但我不知道如何解决。 感谢您的帮助。

crontab用来运行脚本的当前工作目录可能不同于手动运行脚本的文件夹。 我建议将正在读取/写入的文件的绝对路径添加到脚本中(也许是/Users/bezoadam/Documents/FIT/6.semester/ ... ?),而不要使用相对路径( new_emoji_sentiment.json )。

请尝试在系统文件中再添加一次路径。 并尝试在CMD提示符下运行此文件。 它将在此运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM