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

Jenkins执行Python脚本遇No Module named错误的解决求助

解决Jenkins中Python脚本依赖缺失的问题

这问题我之前踩过坑!核心原因很简单:Jenkins执行脚本时用的Python环境,和你本地开发的虚拟环境完全独立,里面没装jenkinsapi和jenkins这两个依赖包。给你几个实用的解决办法,按需求选就行:

  • 直接在Shell步骤中临时安装依赖
    最简单的方式,就是在运行脚本的命令前,先通过pip安装需要的包。注意如果Jenkins服务器用的是Python3,要把pip换成pip3:

    # 全局安装(如果有权限的话)
    pip install jenkinsapi jenkins
    python script_2_name.py
    

    要是碰到权限问题(比如普通用户无法全局安装),可以加--user参数安装到当前用户的目录下:

    pip install --user jenkinsapi jenkins
    python script_2_name.py
    
  • 用虚拟环境隔离依赖(推荐)
    这种方式不会污染Jenkins服务器的全局Python环境,和你本地的开发方式保持一致,更干净可靠:

    # 创建虚拟环境(Python3请用 python3 -m venv jenkins_venv)
    python -m venv jenkins_venv
    # 激活虚拟环境(Linux/macOS用这条,Windows的话是 jenkins_venv\Scripts\activate)
    source jenkins_venv/bin/activate
    # 安装所需依赖
    pip install jenkinsapi jenkins
    # 运行你的脚本
    python script_2_name.py
    # 脚本跑完后可以退出虚拟环境(Jenkins会话结束后会自动清理,这步可选)
    deactivate
    
  • 用requirements.txt统一管理依赖(规范做法)
    如果你的项目后续可能增加更多依赖,建议用requirements.txt来统一管理。先在项目根目录创建这个文件,内容如下:

    jenkinsapi
    jenkins
    

    然后在Jenkins的Shell步骤中执行以下命令:

    pip install -r requirements.txt
    python script_2_name.py
    

    同样可以搭配--user参数或者虚拟环境使用,根据实际情况调整。

另外要注意:先确认Jenkins用的Python版本和你本地一致!有时候Jenkins里的python指向Python2,而你本地用的是Python3,这时候要把命令里的python换成python3、pip换成pip3,避免版本不兼容导致的安装失败。可以在Shell步骤里先跑python --version确认一下。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:45:46