【问题标题】:Is there a good dependency analysis tool for Python? [closed]Python有没有好的依赖分析工具? [关闭]
【发布时间】:2010-10-05 05:30:21
【问题描述】:

依赖分析程序通过控制代码中模块之间的依赖关系来帮助我们组织代码。当一个模块是另一个模块的循环依赖时,找到一种方法将其转变为单向依赖或将两个模块合并为一个模块是一个线索。

Python代码最好的依赖分析工具是什么?

【问题讨论】:

    标签: python dependencies


    【解决方案1】:

    我建议使用snakefood 创建 Python 项目的图形依赖图。它可以很好地检测依赖关系,以便立即查看需要重构的区域。如果您阅读一些文档,它的用法非常简单。

    当然,您可以省略图形创建步骤,而是在文件中接收依赖字典。

    【讨论】:

    • 非常有趣的东西:我正在寻找一种快速的方法来确定给定 python 文件使用的文件,这非常完美:它比我见过的其他解决方案快得多(使用 modulefinder 等)。我想当我有时间时,我会编写自己的基于 AST 的解决方案,但现在这样做了:谢谢!
    • @jkp snakefood 基于 AST,有什么问题?
    • 感谢您的提示。正是我需要的。并不是说它对 Windows 不是很友好。我最终在 Linux 中使用它。
    • 这是一个有趣的工具,但它是基于 python 2 的,并且会阻塞一些 python 3 代码。例如:print('something', file=sys.stderr)
    【解决方案2】:

    我不知道最好的依赖分析工具是什么。您可以查看modulefinder - 它是标准库中的一个模块,用于确定脚本导入的模块集。

    当然,使用 python 时,您会遇到条件导入问题,甚至可能是脚本直接调用 __import__,因此它可能无法找到所有内容。这就是为什么像 py2exe 这样的工具需要特殊帮助来处理像 PIL 这样的包。

    【讨论】:

      【解决方案3】:

      PyStructure - Python 代码的自动结构和依赖分析

      这用于 PyDev 的重构功能。 http://pystructure.ifs.hsr.ch/trac/

      【讨论】:

      • PyStructure 包含一个类型推理引擎。
      【解决方案4】:

      我不确定最好的工具,但最好使用提取和扫描项目的 python 文件来完成依赖关系分析。

      这是一个使用上述技术的工具:orkohunter.net/depends

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-06
        • 1970-01-01
        • 2012-01-07
        • 1970-01-01
        • 2010-12-09
        • 2011-01-13
        • 2011-05-09
        • 2011-01-31
        相关资源
        最近更新 更多