【发布时间】:2021-06-22 12:08:32
【问题描述】:
一旦 Python 脚本被执行,它就无法在 rc.local 中工作。我的想法是在 Raspberry Pi 启动时运行脚本。
我已经用这句话测试过了。 log.txt 文件只有在我手动执行程序时才会出现。
f = open("log.txt", "w")
f.write("log is working")
f.close()
在此之前,我曾尝试插入一个time.sleep(30),使用usr/bin/python3,将脚本头部更改为#!/usr/bin/env python3,将正在执行程序的用户更改为-u pi很多事情我什至不记得了。
最后一句在exit(0)之前有
sudo /usr/bin/python3 /home/pi/script.py &
rc.local 在运行我在文件中创建的回显后立即工作。
【问题讨论】:
-
尝试在 python3 的路径中使用前导
/,例如/usr/bin/python3。 -
从 put
#!/usr/bin/python3而不是#!/usr/bin/env python3开始。然后,如果您使用#!/usr/bin/python3行,那么您只需使用chmod使脚本可执行,并且需要简单调用sudo ./yourscript.py &您可以使用#!/usr/bin/env python3 来实现跨不同系统的可移植性如果他们将语言解释器安装在不同的位置。如果 rc.local break 真的有问题,请尝试通过 init.d -
你设置了执行位吗?
chmod +x /home/pi/script.py使用python3 -m script.py将它作为python 模块运行不需要这样做,但是像它自己的脚本一样运行它。此外,作为日志,您可能希望使用附加模式f = open("log.txt", "a")而不是覆盖模式。
标签: python python-3.x raspberry-pi raspbian rc