首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么我的脚本可以工作,当我手动执行它时,但是使用crontab它不能工作?

为什么我的脚本可以工作,当我手动执行它时,但是使用crontab它不能工作?
EN

Stack Overflow用户
提问于 2019-05-27 00:01:02
回答 1查看 137关注 0票数 1

我的Raspberry Pi 3 (运行debain stretch)连接到一个中继板。

两个Python脚本正在打开/关闭它。当我手动运行脚本时,它可以工作,当我让crontab执行时,只有"on“才能工作。我不知道我做错了什么。

我已经读了一些帖子,并包含了一个shebang,使文件可写,...

on.py

代码语言:javascript
复制
#!/usr/bin/python3
from gpiozero import OutputDevice
light = OutputDevice(2)
light.on()

off.py

代码语言:javascript
复制
#!/usr/bin/python3
from gpiozero import OutputDevice
light = OutputDevice(2)
light.off()

在"crontab -e“上,我写道:

代码语言:javascript
复制
0 11 * * * /home/pi/Desktop/off.py
EN

回答 1

Stack Overflow用户

发布于 2019-05-27 01:55:17

捕获错误的详细文本,就像python看到的那样。您的cron的这个更新版本应该可以做到这一点:

代码语言:javascript
复制
0 11 * * * /home/pi/Desktop/off.py 1> /tmp/myerr.txt 2>&1

...and如果再次失败,请使用文本编辑器查看/tmp/myerr.txt中是否有错误消息。

如果错误是python定位/执行gpio库的问题,以下建议将有所帮助。

告诉python您正在使用的库的位置的一种方法是这样的:

代码语言:javascript
复制
PYTHONPATH=/foo/bar/baz python somescript.py somecommand

作为详细的in this well-voted answer

确保在cron调用和手动调用中都使用PYTHONPATH中文件/文件夹的绝对路径;这将消除cron由于相对路径问题而找不到库的可能性。

作为PYTHONPATH的替代方法,您可以使用sys.path.append as detailed here

This linkthis link可能对gpiozero安装问题很有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56315147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档