参考:https://docs.python.org/3/tutorial/modules.html#the-module-search-path
当执行
import spam
时,编译器首先从内嵌模块(buil-in module)中寻找
spam
库,如果内嵌模块不含有
spam
,编译器将依据
sys.path
所给的一系列文件夹路径寻找名为
spam.py
的文件。
**其中:
sys.path
由以下内容初始化:**
- 输入脚本的所在的文件夹
- PYTHONPATH
- 默认的安装依赖文件夹
备注:输入脚本所在的文件夹路径会放在
sys.path
的第一个,即位于标准库路径的前面。这意味着,如果脚本目录中存在和标准库同名的库,该库将会覆盖标准库。
文件结构如下图:
代码:
#main.pyimport numpy
import sys
print(sys.path)
a = numpy.array([1,2,3])
运行结果:
可以看到,
sys.path
的第一条路径即为当前脚本所在的文件夹,文件夹中自己写的numpy库,覆盖了标准库numpy。
补充内容:
python导入自定义包
直接运行 和 模块运行 的区别
Python 3.x | 史上最详解的 导入(import)
版权归原作者 HoveXb 所有, 如有侵权,请联系我们删除。