Python 3中的模块依赖图

19 投票
3 回答
8365 浏览
提问于 2025-04-18 08:05

我想知道怎么在Python 3中画出模块之间的依赖关系。我找到了一个叫snakefood的工具,但好像它只适用于Python 2。

3 个回答

4

python3 依赖关系图生成器

https://github.com/Trim21/snakefood3

三年前我也有同样的问题,所以我把 snakefood 这个项目复制了一份,并为 Python 3 进行了修复。

9

我猜你说的是这个snakefood,它可以在PyPI上找到,不过自2009年以来就没有更新过。这个工具是用来运行的,而不是单纯的模块库,所以即使你要处理的是Python 3的模块目录,也可以用Python 2.7来执行它。你可以通过subprocess从2.x或3.x来运行它。它生成的输出文件可以用任何版本的Python来读取。

我用hg clone --insecure <src> <dest>把它克隆下来。我的初步实验表明,要让它在3.x上运行,只需要做很少的改动。我只需要在4个最大文件中的2个地方进行以下修改,就能让它编译通过。

  • print x 改为 print(x)
  • except XError, e: 改为 except XError as e:
11

我制作了一个工具,使用了pydeps,你可以在这里找到它。

撰写回答