Python 3.8解析导入路径
在Python3.7之前,每当我在Python 3.8解析导入路径,python,python-3.x,python-3.8,Python,Python 3.x,Python 3.8,在Python3.7之前,每当我在站点包和指定为PYTHONPAH的目录中有一个包(例如:mypackage)时,导入它将导致Python从PYTHOPATH目录加载它 例如,使用以下目录 /site-packages ... mypackage ... /somedir /mylibraries ... mypackage ... 设置PYTHONPATH=/somedir/mylibraries,下面的代码将
站点包和指定为PYTHONPAH
的目录中有一个包(例如:mypackage
)时,导入它将导致Python从PYTHOPATH目录加载它
例如,使用以下目录
/site-packages
...
mypackage
...
/somedir
/mylibraries
...
mypackage
...
设置PYTHONPATH=/somedir/mylibraries
,下面的代码将导入它/somedir/mylibraries
import sys
print(sys.path) # [..., '/somedir/mylibraries' ,...]
import mypackage
print(mypackage.__path__) # '/somedir/mylibraries/mypackage'
升级到Python 3.8后,关于路径解析的一些主要问题似乎有所改变:
import sys
print(sys.path) # [..., '/somedir/mylibraries' ,...]
import mypackage
print(mypackage.__path__) # '.../site-packages/mypackage'
如何在Python 3.8中从PYTHONPAH导入库?与/somedir/mylibraries
相关的sys.path
中的站点包在哪里(首先是/somedir/mylibraries,然后是站点包)Python3.7和3.8都是这样吗?我手头没有Python3.7env,因为我们切换到了3.8