Python中查看与配置搜索路径sys.path的方法

宋时安
宋时安
发布时间:2026-10-13 | 6人浏览过
原创

本文介绍如何在Python中查看当前模块搜索路径sys.path,包括通过import sys和sys.path命令获取。详细讲解临时添加路径的两种方法:使用sys.path.append()仅对当前会话有效,以及设置PYTHONPATH环境变量对所有Python实例生效。此外,还介绍了永久添加路径的两种方案:在现有路径下创建包含site.addsitedir()调用的.pth文件,或在.bash_profile中配置环境变量。

查看Python搜索路径sys.path

了解如何查看Python搜索包的路径:

Python的模块搜索路径信息存储在sys.path列表中。

查看当前搜索路径的方法如下:

import sys

sys.path

临时添加搜索路径的方法

以下是临时添加Python搜索包路径的几种方法:

方法1:(在Python交互环境中执行)

import sys

sys.path.append('路径')

(这种方式仅对当前Python进程有效,关闭后失效)

方法2:

export PYTHONPATH=路径

(这种方式对当前Shell会话中启动的所有Python进程有效)

永久配置搜索路径的方法

若要永久写入sys.path,可采用以下方法:

方法1:

在已有的sys.path搜索路径目录下添加一个.pth文件,文件内容格式为:

import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")

方法2:

在home文件夹下的.bash_profile文件中添加下面一行:

export PYTHONPATH=路径

不同Python环境的路径差异

注意,启动不同的Python环境之后sys.path的值是不同的,例如:

启动conda下的Python时sys.path的值如下所示:


[
'', 
'/Users/zj_macbook/anaconda/lib/python27.zip', 
'/Users/zj_macbook/anaconda/lib/python2.7', 
'/Users/zj_macbook/anaconda/lib/python2.7/plat-darwin', 
'/Users/zj_macbook/anaconda/lib/python2.7/plat-mac', 
'/Users/zj_macbook/anaconda/lib/python2.7/plat-mac/lib-scriptpackages', 
'/Users/zj_macbook/anaconda/lib/python2.7/lib-tk', 
'/Users/zj_macbook/anaconda/lib/python2.7/lib-old', 
'/Users/zj_macbook/anaconda/lib/python2.7/lib-dynload', 
'/Users/zj_macbook/anaconda/lib/python2.7/site-packages', 
'/Users/zj_macbook/anaconda/lib/python2.7/site-packages/Sphinx-1.4.6-py2.7.egg', 
'/Users/zj_macbook/anaconda/lib/python2.7/site-packages/aeosa', 
'/Users/zj_macbook/anaconda/lib/python2.7/site-packages/setuptools-27.2.0-py2.7.egg'
]

以上


/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python
的python的sys.path的值
[
'', 
'/usr/local/lib/python2.7/site-packages/six-1.10.0-py2.7.egg', 
'/Library/Python/2.7/site-packages/twilio-6.3.dev0-py2.7.egg', 
'/Library/Python/2.7/site-packages/httplib2-0.9.2-py2.7.egg', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', 
'/Users/zj_macbook/Library/Python/2.7/lib/python/site-packages', 
'/usr/local/lib/python2.7/site-packages', 
'/usr/local/Cellar/numpy/1.12.0/libexec/nose/lib/python2.7/site-packages', 
'/usr/local/Cellar/protobuf/3.2.0/libexec/lib/python2.7/site-packages', 
'/Library/Python/2.7/site-packages', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python', 
'/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC'
]

以上关于Python搜索包路径的配置方法就是本文的全部内容,希望能为大家提供参考。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表