Jenkins运行在Linux中,报No module namedxxxx(找不到包),如何解决
Jenkins运行在Linux中,报No module namedxxxx(找不到包),如何解决
1.在job的配置页面中的Execute shell中,需指明Python包的地址
export PYTHONPATH=$PYTHONPATH:xxxxx/Lib/site-packages export PYTHONPATH=$PYTHONPATH:jenkis中的任务地址 export PYTHONPATH=$PYTHONPATH:要执行的代码的上级目录 cd 要执行的代码的上级目录
chmod 777 要执行的代码
sudo python3 要执行的代码
2.在Python代码中,也要加路径
import sys import os curPath = os.path.abspath(os.path.dirname(__file__)) #获取当前绝对路径 filePath = os.path.split(curPath)[0] #获取当前目录的上一级目录路径,将文件名和路径切割,然后只取路径 sys.path.append(curPath.split('xxxx')[0])#以xxxx来分割,且只取第一个,并把它追加到python系统模块中 rootPath = curPath.split('xxxx')[0]+"xxxx"#按xxxx分割后,取第一个后,在接上xxxx sys.path.append(filePath)#sys.path是python的搜索模块的路径集 sys.path.append(rootPath)