乐趣区

关于python:Python-模块加载的搜索路径

在 Python 中,当咱们加载一个模块时,Python 会在指定的门路下搜寻对应的.py 文件,如果找不到则报错:

>>> import mymodule
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
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 环境变量相似。

退出移动版