用于分析pip包依赖图的工具。
项目描述
pipforester
pipdeptree输出分析并清理已安装pip包的依赖图的工具。
特性
- 清理图以移除存在传递依赖时的直接依赖,并以dot文件输出。
- 检测传递循环依赖
- 在图中用颜色标注
- 在单个dot文件中作为单独的图显示
- 如果检测到循环,则退出pipforester的退出代码为1
安装
- 创建一个空虚拟环境,与工作环境分开。
pip install pipdeptree pipforester
根据您的操作系统
使用方法
首先,在虚拟环境中运行pipdeptree以创建一个包含已安装依赖项的JSON文件,然后调用pipforester以创建一个清理过的dot文件。
pipdeptree --python path/to/venv/bin/python -j >forest.json
pipforester -i forest.json -o forest.dot
最后使用Graphviz DOT文件可视化工具,即Linux上的xdot来查看图形。
xdot forest.dot
或者使用dot命令行程序生成SVG或PNG文件。
dot -Tsvg -o forest.svg forest.dot
dot -Tpng -o forest.png forest.dot
要生成仅包含循环传递依赖关系的图形,请使用--cycles
选项。
pipdeptree -j >forest.json
pipforester -i forest.json -o forest.dot --cycles
要检测循环传递依赖并退出时返回1
(至少有一个循环依赖),请使用--check-cycles
选项。它不会生成输出图形,适用于CI使用。
pipdeptree -j >forest.json
pipforester -i forest.json --check-cycles
有关详细信息,请参阅pipforester --help
。
变更
1.0.1 (2023-07-14)
- 使用NetworkX模块的transitive_reduction来加速边移除。[@gogobd]
1.0.0 (2023-05-16)
- 修复循环依赖显示,以深紫色显示循环的所有边。[@jensens]
- 修复循环图形,使其不重复显示图形。[@jensens]
1.0.0a1 (2023-05-15)
- 初始代码 [@jensens]
许可
版权所有 (c) 2022-2023,mxstack 贡献者
保留所有权利。
在以下条件满足的情况下,允许重新分发和使用源代码和二进制形式,无论是否修改:
-
源代码重新分发必须保留上述版权声明、本许可列表和以下免责声明。
-
二进制形式的重新分发必须以文档和/或其他材料的形式复制上述版权声明、本许可列表和以下免责声明。
本软件由版权所有者和贡献者提供“按原样”并放弃任何明示或暗示的保证,包括但不限于适销性和针对特定目的的适用性保证。在任何情况下,版权所有者或贡献者均不对任何直接、间接、偶然、特殊、示范性或后果性损害(包括但不限于替代商品或服务的采购;使用、数据或利润的损失;或业务中断)承担责任,即使被告知该软件可能造成此类损害。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码发行版
pipforester-1.0.1.tar.gz (5.0 kB 查看哈希值)
构建发行版
pipforester-1.0.1-py3-none-any.whl (5.5 kB 查看哈希值)