我对 Unix 和 crontab 很陌生。我遇到的唯一主要问题是将终端指向我尝试运行的特定程序的 python 模块。从命令行程序运行良好,但不会从 crontab。
第一个 cronjob 给我发送了一封电子邮件,说 cronjob 正在运行。第二个(createUpdate)运行我构建的脚本,设置为每分钟运行一次。
crontab -l 返回:
*/1 * * * * python /Users/JohnDoe/Desktop/emailalert.py
*/1 * * * * PYTHONPATH =/Library/Frameworks/Python.framework/Versions/Current/lib/python2.7/site-packages; export PYTHONPATH; python /Users/JohnDoe/Desktop/createUpdate.py
我是否正确构建了 PYTHONPATH?
我应该在 cron 之前打破它吗?
是否需要“导出 PYTHONPATH”?
编辑
我忘了添加错误
/bin/sh: PYTHONPATH: command not found
Traceback (most recent call last):
File "/Users/JohnDoe/Desktop/createUpdate.py", line 1, in <module>
import beatbox
ImportError: No module named beatbox
最佳答案
正确的方法是
*/1 * * * * PYTHONPATH=/Library/Frameworks/Python.framework/Versions/Current/lib/python2.7/site-packages python /Users/JohnDoe/Desktop/createUpdate.py
请注意变量赋值中的空格。没有分号,也不需要导出变量,因为在命令之前声明它们已经使它们对命令本身有效。
关于python - Crontab |缺少 Python 模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23136675/