我的 Raspberry Pi 3 (运行debain拉伸)已连接到中继板上。
两个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
答案 0 :(得分:0)
捕获错误的详细文本,如python所见。 您的cron的此更新版本应该可以解决问题:
0 11 * * * /home/pi/Desktop/off.py 1> /tmp/myerr.txt 2>&1
...然后再次失败,请使用文本编辑器查看/tmp/myerr.txt中是否有错误消息。
如果错误是python定位/执行gpio库时出现的问题,则以下建议会有所帮助。
一种告诉python您正在使用的库位置的方法是使用类似这样的方法:
PYTHONPATH=/foo/bar/baz python somescript.py somecommand
确保在cron调用和手动调用中都使用指向PYTHONPATH中文件/文件夹的绝对路径;这将消除cron由于相对路径问题而找不到您的库的可能性。
作为PYTHONPATH的替代方案,您可以使用sys.path.append as detailed here。