You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

树莓派Raspbian系统中通过rc.local自动启动Python程序失败求助

解决树莓派rc.local中main.py无法自动启动的问题

嘿,我来帮你排查下这个问题——既然testStart.py能正常跑起来,说明rc.local的启动机制是通的,咱们从几个关键方向找原因:

1. 先修正最可能的路径错误

你写的./home/pi/...是错误的相对路径!rc.local运行时的工作目录是根目录/,./home会试图找/home文件夹下的home子目录,这显然不存在。把路径里的./去掉,用绝对路径:

sudo python /home/pi/Documents/Skanetrafiken_projekt/testStart.py &
sudo python /home/pi/Documents/Skanetrafiken_projekt/main.py &

2. 检查Python版本是否匹配

树莓派默认python命令指向Python2,但很多新脚本是基于Python3开发的。如果你的main.py是用Python3写的,把命令里的python换成python3试试:

sudo python3 /home/pi/Documents/Skanetrafiken_projekt/main.py &

3. 查看错误日志定位问题

rc.local的输出不会直接显示在屏幕上,咱们把main.py的运行日志保存下来,就能知道具体哪里出错了(比如依赖缺失、代码报错):

sudo python3 /home/pi/Documents/Skanetrafiken_projekt/main.py >> /home/pi/main_start_log.txt 2>&1 &

重启树莓派后,打开/home/pi/main_start_log.txt,里面的内容会告诉你问题所在。

4. 排查权限相关问题

虽然用了sudo,但脚本可能访问某些资源(比如API缓存文件、屏幕硬件权限)时遇到限制:

  • 给main.py添加执行权限(非必须,但能避免奇怪的权限坑):
    chmod +x /home/pi/Documents/Skanetrafiken_projekt/main.py
    
  • 确认脚本里用到的文件/目录,pi用户或root用户有读写权限。

5. 确保rc.local末尾有exit 0

如果rc.local在执行到你的命令前就提前退出了,后面的程序自然不会启动。打开rc.local文件:

sudo nano /etc/rc.local

检查文件最后一行是不是exit 0,没有的话加上,确保所有命令都能被执行到。

备选方案:改用systemd服务(更可靠)

如果rc.local的方式始终有问题,推荐用systemd服务来管理开机启动——它比rc.local更稳定,还支持崩溃自动重启:

  1. 创建服务配置文件:
    sudo nano /etc/systemd/system/main_display.service
    
  2. 写入以下内容(根据你的Python版本调整ExecStart里的路径):
    [Unit]
    Description=Main Display Service
    After=multi-user.target
    
    [Service]
    User=pi
    ExecStart=/usr/bin/python3 /home/pi/Documents/Skanetrafiken_projekt/main.py
    Restart=always
    
    [Install]
    WantedBy=multi-user.target
    
  3. 启用并启动服务:
    sudo systemctl daemon-reload
    sudo systemctl enable main_display.service
    sudo systemctl start main_display.service
    
  4. 查看服务日志:
    journalctl -u main_display.service
    

内容的提问来源于stack exchange,提问作者David Dahlgren

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:23:36