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

systemctl .service运行Python脚本失败:requests模块找不到

解决systemctl运行Python脚本找不到requests模块的问题

问题根源

直接在终端运行脚本时,用的是当前用户的Python环境(包含你安装的requests);而通过sudo systemctl start启动时,默认使用root用户的系统全局Python环境,该环境可能未安装requests,或者你指定的Python解释器和终端实际使用的不一致。

具体解决方法

  • 方法1:统一Python解释器路径

    1. 在终端执行which python3,得到你平时运行脚本的解释器实际路径(比如/home/user/.local/bin/python3或虚拟环境内的路径)。
    2. 修改你的.service文件的ExecStart行,替换为这个路径:
      ExecStart=/home/user/.local/bin/python3 /home/user/main.py
      
  • 方法2:给root环境安装requests
    如果是root用户的全局Python环境缺少requests,直接执行:

    sudo /usr/bin/python3 -m pip install requests
    
  • 方法3:让service以普通用户身份运行
    在.service文件的[Service]段添加用户配置,让脚本用你的普通用户环境运行:

    [Service]
    User=user
    Group=user
    ExecStart=/usr/bin/python3 /home/user/main.py
    
  • 方法4:使用虚拟环境运行
    若脚本依赖虚拟环境,直接调用虚拟环境内的Python解释器:

    ExecStart=/home/user/venv/bin/python3 /home/user/main.py
    

    确保虚拟环境已安装requests(执行source /home/user/venv/bin/activate && pip install requests)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 00:37:04