python找包的路径(找不到自定义包的问题解决)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python找包的路径(找不到自定义包的问题解决)相关的知识,希望对你有一定的参考价值。

问题:工程下自定义的包,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=[]把他清空,然后将默认的路径追加进来,是因为我工程内有一个包可能与其他路径的重叠了,如果放到后面会报错。所以我就把路径放到前面



以上是关于python找包的路径(找不到自定义包的问题解决)的主要内容,如果未能解决你的问题,请参考以下文章

Jenkins部署python项目时,提示找不到自己定义的模块包的问题

系统找不到指定的路径

python查看package的安装路径及包的方法

解决IDEA找不到javax.servlet.jar包的问题

解决maven repository找不到包的问题

python pip:根本找不到现有包的发行版