Ubuntu(Jetson Nano)通过rc.local开机运行Python脚本报错求助
解决方案
核心原因
rc.local 运行时的环境变量与用户登录终端后的环境不一致,导致系统默认的 Python 解释器无法找到你手动安装的第三方库(如 numpy、scipy)。
具体修复步骤
替换 Python 解释器为绝对路径
手动在终端执行which python3,得到你平时运行脚本的 Python 路径(比如/home/your_username/.local/bin/python3或/usr/bin/python3)。修改 rc.local 中的命令,把python3替换为这个绝对路径。使用绝对路径定位脚本目录
将cd ~/fdetect改为绝对路径,比如cd /home/your_username/fdetect,避免 rc.local 运行时无法识别用户家目录的相对路径。修改后的 rc.local 示例:
#!/bin/sh cd /home/your_username/fdetect /home/your_username/.local/bin/python3 scripts/run.py手动指定 PYTHONPATH(可选)
如果上述步骤仍无效,在 rc.local 中添加 PYTHONPATH 环境变量,指向你的第三方库安装目录。比如你的 Python 版本是 3.8,可添加:export PYTHONPATH=/home/your_username/.local/lib/python3.8/site-packages:$PYTHONPATH放在 cd 命令之前即可。
验证 rc.local 执行日志
执行journalctl -u rc-local.service查看开机时 rc.local 的运行日志,根据具体错误进一步排查(比如权限问题、脚本依赖的其他环境变量缺失)。确保 rc.local 可执行
执行sudo chmod +x /etc/rc.local保证文件有执行权限。
内容的提问来源于stack exchange,提问作者BenjaminLi
相关产品推荐
相关产品推荐

