• pipdeptree 是一个用于生成 已安装 Python 包及其依赖关系 的树状图的工具。
  • 它可以帮助开发者直观地查看项目中所有包及其依赖关系,便于管理和解决依赖冲突。
  • A command line utility to display dependency tree of the installed Python packages
  • GitHub: https://github.com/tox-dev/pipdeptree
  • https://pypi.org/project/pipdeptree/

主要特点:

显示依赖树:pipdeptree 以树状结构显示所有已安装包及其依赖关系,清晰地展示包之间的层次关系。
可选输出格式:支持多种输出格式,包括纯文本和 JSON 格式,便于进一步处理和集成。
过滤选项:提供多种过滤选项,可以选择显示特定包及其依赖关系,或者排除不需要的包。
检查依赖冲突:帮助检测和解决依赖冲突问题,确保项目中的包版本兼容。

安装:

pip install pipdeptree

使用方法:

# 生成并显示当前环境中所有包的依赖树
pipdeptree
 
# 生成 JSON 输出
pipdeptree --json
 
# 排除特定包
pipdeptree --exclude setuptools,pip
pipdeptree --exclude jupyter --exclude langchain

直接生成文件:

格式:
    --graph-output FMT
FMT包括:
    dot, jpeg, pdf, png, svg
 
1. 生成svg文件
pipdeptree --graph-output svg > aa2.svg
 
2. 生成png文件
pipdeptree --graph-output png > aa2.png

缺点:

仅限已安装包:只能显示当前环境中已安装的包的依赖关系,不能直接解析项目中的依赖文件(如 requirements.txt)。
复杂项目中的性能:对于依赖关系非常复杂的大型项目,生成的依赖树可能比较庞大和复杂。

示例

指定特定包:

$ pipdeptree --packages requests
requests==2.32.2
├── certifi [required: >=2017.4.17, installed: 2023.7.22]
├── charset-normalizer [required: >=2,<4, installed: 3.1.0]
├── idna [required: >=2.5,<4, installed: 3.4]
└── urllib3 [required: >=1.21.1,<3, installed: 1.26.15]

相关

  • index
  • 生成调用/依赖可视化图,可与 pydeps 对比:pipdeptree 面向已安装包,pydeps 面向项目源码