Spyder 行分析器#

Spyder 行分析器 是一个运行 Python 行分析器的插件。此包分析代码中单行执行所需的时间。

Spyder with the Line Profiler pane open

安装行分析器#

如果您使用 conda 安装了 Spyder,获取 Spyder 行分析器的最佳方法是在您的终端(或 Windows 上的 Anaconda Prompt)中运行以下命令

conda install spyder-line-profiler -c conda-forge

重要

目前,无法将此插件与 Spyder 的独立安装程序(适用于 Windows 和 macOS)一起使用。我们正在努力在未来增加对它们的支持。

重启 Spyder 以便能够使用该插件。

使用行分析器#

安装行分析器后,它将在菜单项 视图 ‣ 窗格 ‣ 行分析器 下可用。

Spyder showing View Panes Line Profiler

您将看到它作为一个选项卡出现在文件选项卡旁边。为了使行分析器工作,您必须在任何您希望分析的函数上方的那一行放置@profile装饰器。

Adding 'profile' decorators to script to profile it line by line.

添加装饰器后,您可以选择通过窗格中存在的按钮选择脚本,或者从 运行 ‣ 逐行分析 运行分析器。您的文件随后将逐行分析。

Spyder showing the line profiler button in the Run menu

运行分析器后,无论是通过窗格中的按钮还是通过运行菜单,结果都显示在行分析器窗格中。那里显示路径是被分析文件的路径。

Running the line profiler and inspecting the results.

行分析器窗格显示六列

  • Line #: 被分析的行号。

  • Hits: 该行在作用域内被命中的次数。

  • Time (ms): 所有命中总共运行该行所花费的时间,以毫秒为单位。

  • Per hit (ms): 每次命中平均花费的时间,以毫秒为单位。

  • % Time: 该行占总作用域时间的百分比。

  • Line contents: 该行中的源代码。

颜色越深的行运行时间越长。