我正在尝试使用systemd在重新启动时自动运行python文件。我尝试使用systemd的原因是因为我的python文件要求网络在那个时间点连接并且可用,并且/ home / pi目录需要准备好使用并且系统时间已经由NTP更新继续。 但是,当我尝试启动脚本时,我收到以下错误:
systemctl start mysript.service
无法启动myscript.service:单元myscript.service失败 load:参数无效。请参阅系统日志和'systemctl status myscript.service'了解详情。
systemctl status myscript.service
myscript.service 已加载:错误(原因:参数无效) 活动无效(死)
myscript.service缺少ExecStart设置。拒
以下是myscript.service:
[unit]
Description=MyPythonFile
After=multi-user.target
[service]
Type=idle
ExecStart=/usr/bin/python3 /home/pi/mypythonfile/file.py
[Install]
WantedBy=multi-user.target
有人知道我收到此错误的原因吗?
[[编辑]] 引用了这篇文章:https://www.raspberrypi-spy.co.uk/2015/10/how-to-autorun-a-python-script-on-boot-using-systemd/
现在可以加载服务,但是因为我的python程序正在使用Tkinter而收到错误。
_tkinter.TclError: couldn't connect to display "0.0"
myscript.service: main process exited, code=exited, status=1/FAILURE
Unit myscript.service entered failed state.
我该怎么做才能解决此错误?
答案 0 :(得分:0)
关注此帖:https://www.raspberrypi-spy.co.uk/2015/10/how-to-autorun-a-python-script-on-boot-using-systemd/
似乎[unit]和[service]应该有一个资本: 所以他们现在成了 - [单位]和[服务]。
这可能是无关紧要但可能会改变
/usr/bin/python3
到
/usr/bin/python
修改强>
“我会尝试打开./.config/lxsession/LXDE-pi/autostart 使用文本编辑器并添加带有前导'@'的python脚本 @python HomeV3.py 您可能需要一个脚本路径。“ - 感谢SurferTim - https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=184797
希望这有帮助!