python - 在 Python 中创建依赖关系图

标签 python dependency-management call-flow

我继承了一个庞大的代码库,我需要对其进行一些小改动。我想知道是否有实用程序可以解析 python 代码并给出函数之间的依赖关系,就像我对函数进行更改一样,我想确保不会破坏其他函数,所以如果我可以在图表中看到它会让我的生活更轻松。

最佳答案

  • 通常为模块/包导入定义“依赖”。
  • 您正在寻找的是可视化的调用流程。

  • 你仍然不能保证你不会破坏功能:)

  • 我的经验和解决方法:

    很多时候,我发现调用流数据太多,图表太复杂。 所以我通常做的是跟踪我感兴趣的函数的部分调用流。

    这是通过使用 sys.settrace(...) 函数来完成的。将调用流生成为文本数据后,我使用 graphviz 生成调用图。

[编辑:根据评论]

然后我的零碎解决方案效果更好。只需插入代码并在要跟踪的函数上使用装饰器。您会看到延迟出现的差距,但可以解决。您不会直接获得完整的图片。

我一直在尝试这样做并制作了 few post这适用于这种理解。

关于python - 在 Python 中创建依赖关系图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4160746/

相关文章:

python - 可以简化这些 Python 正则表达式吗?

php - 如何在没有 Drupal 容器的情况下安装 Drush

java - 为 java 程序生成调用图 - Eclipse

eclipse-cdt - 如何在 Eclipse 中为 C/C++ 代码创建调用图?

python - 字符串到变量然后循环递增

python - 如何在Python中生成按时间排序的uid?

maven - dependencyManagement 和 Maven 中的依赖关系之间的区别

java - Java中如何处理冲突的依赖关系

python - 如何在 Pygame 中编写步行周期