python对模块的搜索顺序


类别:python基础   

发布时间:2019/07/02 12:44:49   更新时间:2020/07/31 19:51:16


当你导入一个模块(.py文件)时,Python 解析器对模块位置的搜索顺序是:

 

1、当前目录。

 

2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。

注意:可以在/etc/profile中添加这个环境变量。

 

3、如果都找不到,Python会察看默认路径(就是os中的python的默认安装路径)。

注意:LNIX下,默认路径一般为/usr/local/lib/python/。

 

4、只影响当前运行程序的环境变量:os.environ.setdefault。

注意:environ是一个字符串所对应环境的映像对象。在不同os上,environ字典的key有所不同。

注意:setdefault如果键不存在于字典中,将会添加键并将值设为默认值。所以,第二次添加用setdefault可能不成功。

 

 

查看搜索路径:

模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

注意:如果你装了env,要在env状态下查看sys.path。


本文网址:https://www.pyfield.com/blog/?id=13