问题:工程下自定义的包,python在执行时经常找不到包
python找包的路径:python安装路径下的lib包和PYTHONPATH下的包
可以使用[sys.path]打印出python找包的路径
import sys
syspath=sys.path
但是在jenkins运行时经常提示找不到包,所以就需要手动添加PYTHONPATH,通过追加sys.path列表来实现
例如下面的方式:
import os
import sys
rootpath=str("工程所在目录")
syspath=sys.path
sys.path=[]
sys.path.append(rootpath)#将工程根目录加入到python搜索路径中
sys.path.extend([rootpath+i for i in os.listdir(rootpath) if i[0]!="."])#将工程目录下的一级目录添加到python搜索路径中
sys.path.extend(syspath)
说明:因为我是用pycharm建的一个工程,我遇到的问题也是找不到工程下的目录,所以就添加了工程目录以及他下面的一级目录
我之所以先用sys.path=[]把他清空,然后将默认的路径追加进来,是因为我工程内有一个包可能与其他路径的重叠了,如果放到后面会报错。所以我就把路径放到前面
|