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)