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

Ubuntu 22.04.2 LTS环境下Jenkins构建GitHub中Python脚本失败的问题求助

Ubuntu 22.04.2 LTS环境下Jenkins构建GitHub中Python脚本失败的问题求助

嗨,我来帮你梳理下这个问题的原因和解决方案哈~

问题核心原因

你遇到的构建失败,本质是Jenkins的运行环境和你本地Ubuntu用户的Python环境是完全隔离的:

  • 你在自己的Ubuntu用户名下安装了numpy、matplotlib这些依赖包,但Jenkins默认是用系统自带的jenkins用户执行构建脚本的,这个用户的Python环境里并没有这些依赖。
  • 另外你的Python脚本还有个小语法问题:import matplotlib as plt是错误的写法,matplotlib的标准导入方式是import matplotlib.pyplot as plt(如果你的脚本没用到matplotlib功能,也可以直接删掉这行导入)。

解决方案:修改Jenkins的执行Shell脚本

针对这个问题,有两种实用的解决方式,你可以根据需求选择:

方式1:直接在构建时安装依赖(快速测试用)

这种方法适合快速验证,每次构建都会安装依赖,缺点是效率稍低。在Jenkins的执行Shell中写入:

# 用--user参数避免系统级权限问题,将依赖安装到jenkins用户的个人Python环境
pip3 install --user numpy matplotlib
# 运行你的Python脚本
python3 numpy.py

方式2:使用虚拟环境(规范推荐)

虚拟环境可以彻底隔离项目依赖,避免和系统环境冲突,是更专业的长期解决方案。执行Shell脚本如下:

# 创建虚拟环境(第一次构建会创建,后续构建会复用这个环境)
python3 -m venv my_project_venv
# 激活虚拟环境
source my_project_venv/bin/activate
# 安装项目所需依赖
pip install numpy matplotlib
# 运行你的脚本
python numpy.py
# 可选:构建结束后自动退出虚拟环境,也可以不写这行,构建完成后环境会自动销毁
deactivate

额外小提示

如果你的脚本其实并没有用到matplotlib功能,只是误加了导入语句,那可以直接删掉import matplotlib as plt这一行,这样还能减少不必要的依赖安装,加快构建速度。

备注:内容来源于stack exchange,提问作者Rising Sun

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 14:48:05