python如何导入包含多个副本的包

时间:2015-11-25 08:41:42

标签: python import path

我相信在导入包时,它会从sys.path搜索并使用第一个按键进行导入。然而,似乎并非如此:

import mpl_toolkits
print(mpl_toolkits.__path__)

它输出:

['/Library/Python/2.7/site-packages/matplotlib-1.5.0-py2.7-macosx-10.11-intel.egg/mpl_toolkits', '/usr/local/lib/python2.7/site-packages/mpl_toolkits']

有人可以向我解释一下如果python在机器中多次安装(在sys.path可以搜索的不同位置),python是如何查找包的?或者指向相关参考的指针会很好。

1 个答案:

答案 0 :(得分:0)

导入模块时,python使用PYTHON PATH(包含文件夹列表的系统变量)和循环来搜索可导入模块。
Python将测试它是否是包(包含 init .py的文件夹)或模块(* .py)。如果没有找到模块,它将在第一个模块上停止python引发import error