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

在Jetson Nano上通过systemd service运行Python脚本pip库不识别求助

问题根因

systemd运行服务时的环境变量与你登录后交互shell的环境变量不一致:你通过pip安装的第三方库如果是加了--user参数安装,或默认安装在当前用户的专属.local目录下,systemd默认未加载对应普通用户的环境配置,或是默认用root用户启动服务,因此无法识别到对应库。


解决方案

  1. 先获取你的Python环境的关键路径
    打开终端执行以下命令,记录返回结果:

    • 获取Python解释器绝对路径:which python3
    • 获取Python库搜索路径,找到你用户目录下的site-packages路径:python3 -c "import sys; print('\n'.join(sys.path))"
      通常用户级pip安装的库都在/home/你的用户名/.local/lib/python3.x/site-packages路径下。
  2. 修改你的systemd service文件
    在[Service]段新增/修改以下配置:

    • 指定运行服务的用户为你平时正常运行脚本的普通用户,避免用root运行找不到用户级安装的库:
      User=替换为你的用户名
      WorkingDirectory=替换为你的Python脚本所在的文件夹绝对路径
      
    • ExecStart使用Python解释器的绝对路径执行脚本,不要直接写python3:
      ExecStart=替换为第一步查到的Python绝对路径 替换为你的脚本绝对路径
      
    • 如果以上配置后仍报错,手动指定PYTHONPATH环境变量,填入第一步查到的用户site-packages路径:
      Environment="PYTHONPATH=替换为第一步查到的用户site-packages绝对路径"
      

    如果你使用了venv/conda等虚拟环境,直接用虚拟环境内的Python解释器绝对路径填入ExecStart即可,无需额外配置PYTHONPATH。

  3. 生效配置并验证
    执行以下命令重载配置并重启服务:

    sudo systemctl daemon-reload
    sudo systemctl restart 你的服务名.service
    

    如果仍有报错,执行sudo journalctl -u 你的服务名.service -f查看详细日志排查问题。


内容的提问来源于stack exchange,提问作者Zac Boussaid

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:57:05