首页 > 解决方案 > 缺少库,使用 crontab 执行 GUI-python 计划

问题描述

我想在指定时间使用 crontab 在树莓派上运行 python 程序,但它给出了错误。在命令终端上运行,我执行程序没有问题。

详细错误:

Traceback (most recent call last):
  File "/home/pi/Desktop/Working_IonControllerVer3.py", line 6, in <module>
    import pyqtgraph as pg
ModuleNotFoundError: No module named 'pyqtgraph'

终端

$ sudo crontab -e 

39 5 * * * sh  /home/pi/Desktop/launcher.sh

shell脚本如下

#! /bin/sh
export DISPLAY=:1
PATH=$PATH:/home/pi/.local/lib/python3.7/site-packages/pyqtgraph/
/usr/bin/python3.7 /home/pi/Desktop/codeVer3.py

任何关于如何使用 crontab python 程序执行来解决这个问题的建议。

标签: pythoncron

解决方案


如果pyqtgraph无法全局识别,那么您还应该能够在同一行(在同一命令中)包含环境设置作为对 Python 的调用,例如这样

*/1 * * * * PYTHONPATH=/Library/Frameworks/Python.framework/Versions/Current/lib/python2.7/site-packages python /Users/JohnDoe/Desktop/createUpdate.py

请注意变量赋值中的空格。没有分号也不需要导出变量,因为在命令之前声明它们已经使它们对命令本身处于活动状态。

按照示例,pyqtgraph在(命令行)上设置环境,它应该可以解决您的问题。


推荐阅读