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

树莓派4开机自动运行Python脚本问题求助

解决树莓派4开机自动运行Python脚本的问题

先修复基础错误

1. Python代码语法错误

你的main.py中while (1)后面缺少冒号,这会直接导致脚本运行失败,修正后:

import serial

ser = serial.Serial("/dev/ttyAMA0", 115200)
l = 1
while (1):
    print(l)
    ser.write(str(l).encode("utf-8"))
    l += 1

2. Shell脚本的conda激活错误

你当前的conda activate命令写法错误,正确的两种方式:

方式一:直接使用conda环境的Python绝对路径(推荐,避免环境变量问题)

修改my_script.sh:

#!/bin/bash
# 替换为你conda环境中python的实际路径
/path/to/environment/bin/python /home/path/to/main.py

方式二:正确初始化conda并激活环境

如果必须用conda activate,需要先加载conda的初始化脚本:

#!/bin/bash
# 替换为你conda安装路径下的profile.d/conda.sh
source /home/pi/miniconda3/etc/profile.d/conda.sh
# 替换为你的conda环境名称,不是activate脚本路径
conda activate your_env_name
python /home/path/to/main.py

给Shell脚本添加可执行权限:

chmod +x /home/path/to/my_script.sh

优化开机启动配置

方法一:优化crontab配置

  1. 编辑crontab:
crontab -e
  1. 修改@reboot命令,添加日志输出方便排查:
@reboot /bin/bash /home/path/to/my_script.sh >> /home/path/to/startup.log 2>&1
  1. 重启后查看日志:
cat /home/path/to/startup.log

方法二:优化rc.local配置

  1. 编辑rc.local:
sudo nano /etc/rc.local
  1. 在exit 0之前添加命令(确保加&后台运行,同时添加日志):
/home/path/to/my_script.sh >> /home/path/to/startup.log 2>&1 &
  1. 确保rc.local有可执行权限:
sudo chmod +x /etc/rc.local

解决串口相关问题

  1. 启用树莓派串口:
    运行raspi-config,进入Interface Options -> Serial Port,选择关闭Serial Console,开启Serial Port,保存后重启。

  2. 给用户添加串口访问权限:

sudo usermod -aG dialout pi  # 替换pi为你的用户名
  1. 可选:添加启动延迟
    如果开机时串口未就绪,可在Shell脚本开头添加延迟:
sleep 10  # 延迟10秒,等待系统初始化串口

验证脚本运行

重启树莓派后,用以下命令查看脚本是否在运行:

ps aux | grep main.py

或查看日志文件startup.log排查错误。

内容的提问来源于stack exchange,提问作者Nazar Pankov

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 16:13:12