Python基础教程

002_Python模块的搜索路径

Python模块的搜索路径

Python模块的搜索路径

搜索路径是由一系列目录名组成的,当我们使用import语句的时候,Python解释器就依次从这些目录中去寻找所引入的模块。

搜索路径是在Python编译或安装的时候确定的,安装新的库应该也会修改。搜索路径被存储在sys模块中的path变量中。

import sys

print(sys.path)

本机运行结果

C:UsershccmaAnaconda3python.exe E:/wkp01/p00/test01/atestpkg/t04.py
['E:\wkp01\p00\test01\atestpkg', 'E:\wkp01\p00\test01', 'E:\wkp01\p00\test01\sonic\asonic\pybean', 'E:\wkp01\p00\test01\sonic\asonic', 'E:\wkp01\p00\test01\audio_player', 'E:\wkp01\p00\test01\ld02\ldcom', 'E:\wkp01\p00\test01\atestpkg', 'C:\Users\hccma\Anaconda3\python37.zip', 'C:\Users\hccma\Anaconda3\DLLs', 'C:\Users\hccma\Anaconda3\lib', 'C:\Users\hccma\Anaconda3', 'C:\Users\hccma\AppData\Roaming\Python\Python37\site-packages', 'C:\Users\hccma\Anaconda3\lib\site-packages', 'C:\Users\hccma\Anaconda3\lib\site-packages\win32', 'C:\Users\hccma\Anaconda3\lib\site-packages\win32\lib', 'C:\Users\hccma\Anaconda3\lib\site-packages\Pythonwin']

Process finished with exit code 0

通常情况下,当使用 import 语句导入模块后,Python 会按照以下顺序查找指定的模块文件:

  • 在当前目录,即当前执行的程序文件所在目录下查找;
  • 到 PYTHONPATH(环境变量)下的每个目录中查找;
  • 到 Python 默认的安装目录下查找。

因此,为了让Python中import语句能够找到模块,这里有4种方法。

  • 把需要的模块放到当前目录中;
  • 把需要的模块路径配置到 PYTHONPATH(系统环境变量)中;
  • 把需要的模块复制到 Python 默认的安装目录中;
  • 利用sys.path.append()临时添加模块路径。

在PyCharm中右键点击包时,右键菜单"MarkDirectory as"下的“Sources Root”可以把包路径添加到sys.path中。

这篇文章对您有用吗?

我们要如何帮助您?