详细指南:如何使用多种方法列出已安装的Python包
列出已安装的 Python 包有助于快速审计项目依赖或排查环境冲突。本文详细演示如何通过 pip 命令行、Python 内置模块、依赖可视化工具以及 Jupyter 等常见开发环境,准确获取安装包列表及其版本信息,并提供对应的参数设置与结果核对方法。
列出已安装 Python 包的常见应用场景
在更换设备、迁移项目或排查环境冲突时,准确获取已安装的 Python 包列表至关重要。掌握不同工具的输出特性,可以帮助开发者快速完成依赖审计或构建标准化配置文件。
第1步:使用 pip list 获取标准安装清单
目的:快速查看当前环境中所有直接安装的包及版本号。 入口:系统终端或命令提示符。 操作:运行基础命令即可查看结构化表格。 重要参数:无默认过滤时显示全部,包含核心包与第三方库。 完成状态:终端输出按名称升序排列的两列数据(包名与版本)。
pip list
如需将结果持久化保存以便后续核对,可追加重定向符号:
pip list > installed_packages.txt
此时工作目录会生成同名文本文件,记录完整列表。
第2步:使用 pip freeze 输出 Requirements 格式
目的:生成符合标准的依赖声明文本,常用于项目复现。
入口:终端。
操作:执行冻结命令。该方式输出的每一行均为 包名==版本 结构,可直接写入 requirements.txt 供其他机器解析。
完成状态:控制台打印纯文本格式的包清单,便于直接复制粘贴到配置文件中。
pip freeze
第3步:在 Python 代码内调用 pkg_resources 读取
目的:在运行时的 Python 脚本中动态获取环境包信息,适用于自动化运维或程序内部判断。
入口:任意 .py 文件。
操作:导入 setuptools 提供的模块并遍历工作集。注意:该路径在较新版本的 Python 中建议逐步过渡至 importlib.metadata。
代码实现如下:
import pkg_resources
installed_packages = pkg_resources.working_set
for package in installed_packages:
print(f"{package.key}=={package.version}")
完成状态:脚本运行后逐行打印包标识与对应版本号。
第4步:借助 pipdeptree 可视化依赖树
目的:排查间接依赖冲突或理解包之间的层级引用关系。 准备条件:该功能非内置,需先手动安装工具包。 风险提醒:安装过程可能变更本地索引缓存,不影响现有业务环境,但大规模部署前建议核对锁文件版本。 操作顺序:
- 安装可视化工具:
pip install pipdeptree - 启动依赖图谱:
pipdeptree
完成状态:终端以缩进树状结构展示主包及其引用的底层库,便于定位循环依赖或版本不匹配问题。
第5步:在 Pipenv 容器中锁定项目环境
目的:仅针对当前工程目录提取隔离环境下的精准依赖列表。
准备条件:项目根目录存在 Pipfile 文件。
操作顺序:
- 进入项目目录并激活沙盒:
pipenv shell - 生成只读依赖快照:
pipenv lock --requirements
完成状态:输出内容严格受限于 Pipfile.lock 的记录,排除全局环境干扰,适合交付测试。
第6步:于 Jupyter Notebook 单元格中实时查询
目的:在交互式分析或教学演示场景中快速确认内核环境。 操作:在任意代码单元格内添加 Shell 前缀执行查询。参数:保持与 pip 一致。 示例:
!pip list
完成状态:单元格下方渲染区直接输出表格形式的安装包清单,无需额外跳转终端。
选择合适工具的判断依据
日常维护与报表生成首选 pip list 获取直观数据;团队协作与自动化部署采用 pip freeze 确保版本锁定;遇到“依赖冲突”报错时启用 pipdeptree 追溯源头;容器化项目管理应依托 Pipenv 或 Conda 保持上下文纯净;Notebook 交互则利用感叹号前缀无缝衔接。以上就是列出已安装Python包的详细内容,更多关于Python环境配置与依赖管理的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









