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

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

本文介绍如何在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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。