构建类方法依赖图的Python工具

20 投票
5 回答
13250 浏览
提问于 2025-04-15 11:17

我正在研究一个非常庞大的旧版Python类,这个类里面有很多方法。我最终把复杂的方法拆分成更小的部分,这样方法的数量就更多了。我在想有没有什么工具可以扫描这些Python代码,并为它的方法生成一种依赖关系图。

我定义方法 x() 是方法 y() 的依赖关系,如果 y() 中至少调用了一次 x()

我可以用这样的工具来找出(如果可能的话)那些没有外部依赖的类方法子集(它们的所有依赖都是来自同一个子集的方法)。

我打算把一些功能移到其他类中,我觉得这种方法会帮助我决定从这个庞大的初始类中提取哪些部分。

补充:我真的希望有一个命令行工具。

5 个回答

2

你试过pydev吗?这是一个为Eclipse这个软件提供的Python扩展。它让我觉得可以让你使用Eclipse的“调用层次结构”功能,查看某个方法的调用图。虽然这可能不是你想要的完全功能,但也许可以作为一个入门的工具。

3

我刚开始使用 pydeps,到目前为止它运行得很好。

6

你有没有看过 Snakefood 呢?看起来它正是你需要的东西。

撰写回答