linux部署jenkins报错:ModuleNotFoundError: No module named ‘XXX‘已解决

项目场景:

实现接口自动化python+jenkins+allure
部署环境:linux中部署jenkins容器,容器需安装jdk ,python环境
python脚本:放入jenkins容器中
allure:安装在容器中
jenkins配置:jdk,allure路径,邮箱
用shell执行
在这里插入图片描述


问题一描述:

ERROR - ModuleNotFoundError: No module named 'loguru’找不到第三方库


原因分析:

容器中没有安装python库


解决方案:

需要进行安装pip3 install xxx。

问题二描述:

No module named 'xxx’找不到自定义的包

解决方案:

在所有的代码中,导包的前面!!!加上 import sys sys.path.append("项目路径")

### JenkinsPython 脚本运行时 ModuleNotFoundError 错误解决方案 当在 Jenkins 构建过程中遇到 `ModuleNotFoundError: No module named 'requests'` 的错误时,这通常意味着 Jenkins 执行环境缺少所需的 Python 包。为了确保 Jenkins 可以成功执行依赖于特定库的 Python 代码,可以采取以下措施来安装并配置这些包。 #### 方法一:全局安装 Requests 库 如果希望所有项目都能访问该库,则可以在服务器上全局安装 requests: ```bash sudo pip install requests ``` 这种方法简单直接,但可能会引起不同版本间的冲突[^1]。 #### 方法二:使用虚拟环境管理依赖项 更推荐的方式是在每次构建前创建一个新的虚拟环境,并在此环境中安装所需的所有依赖关系。这样做的好处是可以隔离各个项目的依赖,防止相互干扰。 ##### 步骤说明 - **准备阶段** 创建一个名为 `.venv` 的虚拟环境: ```bash python3 -m venv ./.venv ``` - **激活虚拟环境** 对于 Linux 或 macOS 用户来说,在 shell script 中可以通过如下方式激活它: ```bash source ./.venv/bin/activate ``` Windows 用户则应使用批处理命令: ```batchfile call .\.venv\Scripts\activate.bat ``` - **安装需求文件中的软件包** 假设有一个 requirements.txt 文件列出了所有的外部依赖,那么可以直接通过 pip 安装它们: ```bash pip install -r requirements.txt ``` 此过程会自动下载并设置好包括 `requests` 在内的任何指定版本的第三方库[^3]。 #### 方法三:修改 PYTHONPATH 环境变量 另一种可能的方法是调整 Jenkins 运行时所使用的PYTHONPATH路径,使其指向包含已安装模块的位置。不过这种方式不如前面两种常见或可靠,因为容易造成混乱且难以维护[^4]。 对于持续集成工具而言,采用虚拟环境是最优实践之一,因为它不仅解决了当前的问题,还为未来的扩展提供了良好的基础架构支持。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姑娘别秃头

你的鼓励是为我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值