我正在尝试使用 crontab 运行 python 脚本,该脚本使用 matplotlib 来保存绘图 png。该脚本在正常运行/不是由 cron 运行时运行良好。
我的 crontab 文件是:
SHELL=/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
* * * * * /home/matthew/Programs/random_walk/random_walk.py >/dev/null 2>&1
权限似乎设置正确,pythonpath 似乎正确;我添加了几行来random_walk.py
编写带有sys.path
输出的文件,并且在由 cron 运行时可以正常工作。
几篇博客文章和邮件列表表明,该问题将通过
import matplotlib
matplotlib.use('Agg')
在我的python文件的顶部(在shebang之后),但这没有帮助。
我的savefig
代码是
if len(sys.argv) > 1:
save_path = sys.argv[1].rstrip('/')+'/random_walk.png'
else:
save_path = 'random_walk.png'
plt.savefig(save_path)
我怎样才能让 cron 和 matplotlib 一起玩得很好?