利用pip的依赖关系图

时间:2013-03-06 16:25:59

标签: python graph dependencies pip

我想编写一个用pip安装的所有python-packages的Dependency-Graph的可视化。我的问题是代码记录很差,我无法找到图表存储在源代码中的位置。

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

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

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

2 个答案:

答案 0 :(得分:1)

是的,如果您不习惯它的代码是完全不可读的。我不记得那样的东西,我也不会用它。您可能会发现自己更适合distlib,其中只有一个模块:https://distlib.readthedocs.org/en/latest/depgraph.html

答案 1 :(得分:0)

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

Pip在内部根本不使用依赖关系图。 (自1.3.X版本起)

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

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