在 Python 中,当我们加载一个模块时,Python会在指定的路径下搜索对应的.py文件,如果找不到则报错:
>>> import mymodule
Traceback (most recent call last):
File "", line 1, in
ImportError: No module named mymodule
Python解释器默认搜索当前目录、所有已安装的内置模块和第三方模块,搜索路径存放在 sys
模块的 path
变量中:
>>> import sys
>>> sys.path
['', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', ..., '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages']
有两种方法可以添加自定义搜索目录:
1.直接修改 sys.path
的值,添加要搜索的目录:
>>> import sys
>>> sys.path.append('/Users/wu/my_py_scripts')
这种方法是在运行时修改,运行结束后会失效。
2.设置环境变量 PYTHONPATH
,该环境变量的内容会自动添加到模块搜索路径中。设置方式与设置 Path 环境变量类似。