Jenkins Ubuntu容器中Python脚本无法import requests问题求助
解决Python2脚本找不到已安装的requests模块问题
问题原因
从环境信息能明确看出:
python命令指向Python 2.7.18pip命令属于Python 3.8,执行pip install requests会把模块安装到Python3的依赖目录/usr/lib/python3/dist-packages中
而你运行脚本用的是python(Python2),两个Python版本的依赖目录相互独立,因此Python2无法找到仅安装在Python3环境里的requests模块。
解决方案
方案1:给Python2单独安装requests
如果系统中存在pip2,直接用它安装:
pip2 install requests
如果没有pip2,先安装Python2对应的pip工具:
apt-get update && apt-get install python-pip -y pip2 install requests
同时修改Jenkinsfile中的安装命令,替换为pip2:
sh "pip2 install requests && ${workspace}/src/jenkins/ci/pba/pba_coverage_scan.sh" result = sh(script: "python ${workspace}/src/jenkins/ci/pba/api.py",returnStdout: true).trim()
方案2:改用Python3运行脚本(需脚本兼容Python3)
直接修改Jenkinsfile里的脚本调用命令,用python3执行:
result = sh(script: "python3 ${workspace}/src/jenkins/ci/pba/api.py",returnStdout: true).trim()
由于requests已经安装在Python3的依赖目录中,Python3可以直接找到该模块。
内容的提问来源于stack exchange,提问作者AhmFM
相关产品推荐
相关产品推荐

