首页 > 解决方案 > 用于从 Bokeh 导出 PNG 的带有输出规范的 Crontab 命令

问题描述

我需要关于 Bokeh 的建议 - 在 Linux 上运行的 Python 可视化库,通过 export_png 函数保存绘图。https://docs.bokeh.org/en/latest/docs/user_guide/export.html

手动执行脚本时,按预期导出 png。但是预定的 cronjob 脚本,不会生成 PNG 文件。这篇文章很有帮助:https ://discourse.bokeh.org/t/bokeh-export-png-svg/2685/4 。我在 crontab 中添加了指定 phantomjs 位置的行:PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

我实际的 cron 命令:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
1 * * * * python3 /home/airflow/airflow/tasks/ta_auto/screener.py

我尝试了许多变体,其中包括输出文件路径:

 1 * * * * python3 /home/airflow/airflow/tasks/ta_auto/screener.py > /home/airflow/airflow/data/plot.png

但由于输出文件的文件路径包含在 export_png 函数调用中,答案可能在其他地方:

export_png(plot, filename="plot.png")

请告知如何使用正确的 cronjob 命令将 PNG 导出到所需位置。谢谢你。

标签: pythoncronbokeh

解决方案


解决方案是在 cron 命令中添加环境变量:

25 * * * * . $HOME/.profile; python /home/path/to/script/script.py

推荐阅读