使用这款开源可视化工具,理解你的 Python 代码

VizTracer 可视化并追踪 Python 代码,以便更深入地了解代码的工作原理。
64 位读者喜欢这篇文章。
Python programming language logo with question marks

Opensource.com

当你的 Python 项目变得越来越大和复杂时,理解它会变得很有挑战性。即使你编写了整个项目,也不可能完全了解它的工作原理。调试和分析你的代码对于更好地理解它至关重要。

VizTracer 是一款通过追踪和可视化代码执行来帮助你理解 Python 代码的工具。无需更改任何源代码,VizTracer 可以记录函数入口/出口、函数参数/返回值以及任何任意变量,然后使用直观的前端 Google Trace-Viewer 显示数据。

这是一个运行 蒙特卡洛树搜索 的示例

每个函数都以堆栈样式记录并在时间轴上可视化,以便你可以看到运行程序时发生的情况。你可以放大以查看任何特定点的详细信息

VizTracer 还可以自动记录函数参数和返回值;你可以单击函数入口并查看详细信息

或者你可以创建一个全新的信号并使用它来记录变量。例如,这显示了你执行梯度下降时的成本值

与其他设置复杂的工具相比,VizTracer 非常易于使用,并且没有任何依赖项。你可以通过 pip 安装它,方法如下:

pip install viztracer

并通过输入以下内容来追踪你的程序(其中 <your_script.py> 是你的脚本名称):

viztracer <your_script.py>

VizTracer 将在你的工作目录中生成一份 HTML 报告,你可以在 Chrome 中打开它。

VizTracer 提供了其他高级功能,例如过滤器,你可以使用它们来过滤掉你不想要追踪的函数,以便获得更简洁的报告。例如,要仅包含你感兴趣的文件中的函数:

viztracer include_files ./ --run <your_script.py>

要记录函数参数和返回值:

viztracer --log_function_args --log_return_value <your_script.py>

要记录与特定正则表达式匹配的任何任意变量:

# log variables starts with a
viztracer --log_var a.* --run <your_script.py>

你可以通过对源代码进行少量修改来获得其他功能,例如用于记录数值和对象的自定义事件。

VizTracer 还包括一个虚拟调试器 (vdb),可以调试 VizTracer 的日志文件。vdb 调试你执行的代码(很像 pdb),以便你可以理解代码流程。它很有帮助地支持回溯,因为它知道发生的一切。

与某些原型不同,VizTracer 在纯 C 中实现了其核心,这大大降低了开销,使其达到与 cProfile 类似的水平。

VizTracer 是开源的,根据 Apache 2.0 许可证发布,并支持所有常见的操作系统平台(Linux、macOS 和 Windows)。你可以在 GitHub 上了解更多关于其功能的信息并访问其源代码。

接下来阅读什么
标签

1 条评论

关于 Python 的精彩信息,真的很有帮助。

© . All rights reserved.