解决Jenkins调用python脚本,报错:from jira import JIRAImportError: No module named jira
原文链接:https://blog.csdn.net/alice_tl/article/details/877365521、python3.7官网下载:https://www.python.org/downloads/, downloads-》python3.7.7 下载稳定版本包2、安装pkg包,默认安装路径如下:/Library/Frameworks/Python.framework/...
今天早上发现Jenkins的所有的任务都报错了,自己也很纳闷,没有做任何代码的提交,也没有修改Jenkins的配置,为什么为失败呢?
定位思路:
1.服务器上执行脚本,import jira,居然也报错。看了一下python的版本,python --version,不知道什么时候,python版本降到了2.7
2.解决方法,1)先从Path路径配置入手,看了下/etc/profile文件,发现路径配置没有问题 2)看了下软链,果然,软链回复到了linux系统默认的python指向。
ln -s /usr/local/python/bin/python3.8 /usr/local/python
ln -s /usr/local/python/bin/pip3.8 /usr/local/bin/pip
配置完成后,重新在本地执行了python脚本,运行没有问题了。启动了Jenkins执行任务,结果还是报错。顿时傻眼了。
3.在代码中打出了 sys.path的路径,发现路径上出现了 python3.6,我自己原来安装的是python3.8,进入到site-packages中,没有任何的包,所以执行脚本用到python3.6后,一定不会执行成功。
['/usr/lib64/python36.zip', '/usr/lib64/python3.6', '/usr/lib64/python3.6/lib-dynload', '/usr/lib64/python3.6/site-packages', '/usr/lib/python3.6/site-packages', None]

解决方法:
1.把python3.6给删除,![]()
2.软链的修改
ln -s /usr/local/software/python/bin/pip3.8 /usr/bin/pip
ln -s /usr/local/software/python/bin/python3.8 /usr/bin/python
最后重新运行Jenkins任务,执行成功。
总结:实际上从问题发现到解决的过程,都能够判断出是python版本的原因导致的。但是因为在最开始的时候,一直固定的认为服务器上只有python2.7和python3.8这两个版本,在本地执行也没有问题,导致反复查找根本原因。后来不知道是做了什么操作,系统中有自动安装了对应依赖的python3.6版本,导致了整体Jenkinks任务的执行失败。还是需要细致判断才能解决问题。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)