我的Raspberry Pi 3 (运行debain stretch)连接到一个中继板。
两个Python脚本正在打开/关闭它。当我手动运行脚本时,它可以工作,当我让crontab执行时,只有"on“才能工作。我不知道我做错了什么。
我已经读了一些帖子,并包含了一个shebang,使文件可写,...
on.py
#!/usr/bin/python3
from gpiozero import OutputDevice
light = OutputDevice(2)
light.on()
off.py
#!/usr/bin/python3
from gpiozero import OutputDevice
light = OutputDevice(2)
light.off()
在"crontab -e
“上,我写道:
0 11 * * * /home/pi/Desktop/off.py
发布于 2019-05-27 01:55:17
捕获错误的详细文本,就像python看到的那样。您的cron的这个更新版本应该可以做到这一点:
0 11 * * * /home/pi/Desktop/off.py 1> /tmp/myerr.txt 2>&1
...and如果再次失败,请使用文本编辑器查看/tmp/myerr.txt中是否有错误消息。
如果错误是python定位/执行gpio库的问题,以下建议将有所帮助。
告诉python您正在使用的库的位置的一种方法是这样的:
PYTHONPATH=/foo/bar/baz python somescript.py somecommand
作为详细的in this well-voted answer。
确保在cron调用和手动调用中都使用PYTHONPATH中文件/文件夹的绝对路径;这将消除cron由于相对路径问题而找不到库的可能性。
作为PYTHONPATH的替代方法,您可以使用sys.path.append as detailed here。
https://stackoverflow.com/questions/56315147
复制相似问题