1

我想写一个用 pip 安装的所有 python 包的依赖关系图的可视化。我的问题是代码的文档记录很差,我无法找到 Graph 在源代码中的存储位置。

我希望有人对 pip-sourcecode 有足够的了解来帮助我。

我也是 python 新手,我不确定我是否应该在现有的源代码中进行调整,或者为它编写一个模块,尽管我更倾向于后者。

// 编辑:我可以通过 pip freeze 获取所有已安装的模块,但这只会给我一个没有依赖项的列表。所以我必须找到一种方法从该列表中提取依赖项。

4

2 回答 2

1

是的,如果您不习惯它,它的代码是非常难以阅读的。我不记得类似的东西,我不会使用它。您可能会发现自己更适合distlib,它有一个专门用于此目的的模块:https ://distlib.readthedocs.org/en/latest/depgraph.html

于 2013-03-06T16:53:51.510 回答
0

这是我在搜索过程中发现的:

Pip 在内部根本不使用依赖图。(从 1.3.X 版开始)

因此,一种解决方案是执行以下操作:

如果您还没有准备好,您可以安装 setuptools。它带来了一个名为 pkg_resources 的模块。该模块具有所有工具,可以在您想要的 dists 目录中查看所有已安装的模块(不仅是使用 pip 安装的模块)。然后,您可以使用 pkg_resources 中包含的方法读出元数据(包括需求/依赖项)。

于 2013-03-07T14:31:03.943 回答