跳转到主要内容

用于分析pip包依赖图的工具。

项目描述

pipforester

pipdeptree输出分析并清理已安装pip包的依赖图的工具。

特性

  • 清理图以移除存在传递依赖时的直接依赖,并以dot文件输出。
  • 检测传递循环依赖
    • 在图中用颜色标注
    • 在单个dot文件中作为单独的图显示
    • 如果检测到循环,则退出pipforester的退出代码为1

安装

  • 创建一个空虚拟环境,与工作环境分开。
  • pip install pipdeptree pipforester

根据您的操作系统

  • 想要安装一个查看dot文件的程序,例如xdot,在基于Debian/Ubuntu的系统上,可以使用apt install xdot
  • 或者使用graphviz将dot文件转换为PNG/SVG。

使用方法

首先,在虚拟环境中运行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 查看哈希值)

上传时间: Python 3

支持者