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

Jetson Nano开机自启脚本报错:No module named pyserial与cv2求助

问题解决步骤

1. 确认Python与pip的对应关系

systemctl脚本里用的是/usr/bin/python3,但你之前通过pip3安装的库可能不在这个Python环境的路径下。先验证两者路径是否匹配:

  • 执行命令查看路径:
    which python3
    which pip3
    
    如果两者路径不一致(比如pip3在/home/xxx/.local/bin/pip3),说明pip3属于另一个Python环境,安装的库不会被/usr/bin/python3识别。

2. 为目标Python环境重新安装OpenCV

直接指定/usr/bin/python3对应的pip工具安装OpenCV,确保库安装到正确路径:

/usr/bin/python3 -m pip install opencv-contrib-python

安装完成后,执行以下命令确认OpenCV已被该Python环境识别:

/usr/bin/python3 -m pip list | grep opencv

3. 修正systemctl脚本的语法错误

你的服务脚本中XAUTHORITY的赋值存在多余空格,systemd的环境变量赋值不允许等号两侧有空格,修正后的脚本如下:

[Unit]
Description=code on boot
After=multi-user.target

[Service]
Environment=DISPLAY=:0
Environment=XAUTHORITY=/home/root/.Xauthority
ExecStart=/usr/bin/python3 /home/root/code.py
User=root
TimeoutSec=infinity

[Install]
WantedBy=multi-user.target

4. 重启服务并验证

  • 重新加载systemd配置:
    sudo systemctl daemon-reload
    
  • 重启服务并查看运行状态:
    sudo systemctl restart your-service-name.service
    sudo systemctl status your-service-name.service
    
    (将your-service-name替换为你实际的服务文件名,比如code-boot.service)

额外注意事项

如果串口在自启时仍有异常,由于你使用root用户运行服务,权限通常足够,但可以确认串口设备(如/dev/ttyTHS1)的权限:

ls -l /dev/ttyTHS1

确保root用户拥有读写权限。

内容的提问来源于stack exchange,提问作者Shivanchal Asthana

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 13:20:18