在 Visual Studio 中分析 Python 代码

调试代码时,Visual Studio 为 Python 应用程序提供分析功能。 Visual Studio 调试器 让你逐步完成代码以检查变量、分析程序状态、解决潜在问题等。 Visual Studio 分析功能提供有关程序执行时间的信息。 可以使用此信息来帮助识别代码中的性能问题。

使用基于 CPython 的解释器时,性能分析适用于 Python 3.9 及更早版本。

先决条件

  • 在 Windows 上安装的 Visual Studio 支持 Python 工作负载。 有关详细信息,请参阅 在 Visual Studio中安装 Python 支持。

  • 基于 CPython 的解释器。 CPython 是“原生的”且最常用的解释器,提供 32 位和 64 位版本(推荐使用 32 位)。 有关详细信息,请参阅 安装 Python 解释器

  • 带有代码的 Python 项目,或者带有 Python 代码的 文件夹

不支持 Visual Studio for Mac。 有关详细信息,请参阅 Visual Studio for Mac 的最新情况。Windows、Mac 和 Linux 上的 Visual Studio Code 通过可用扩展可以很好地支持 Python

将探查器与基于 CPython 的解释器配合使用

分析 Python 应用程序时,Visual Studio 会在进程的生存期内收集数据(以毫秒为单位)。。

按照以下步骤开始处理 Visual Studio 中的分析功能:

  1. 在 Visual Studio 中,打开 Python 代码文件。

  2. 确认 Python 代码的当前环境是基于 CPython 的解释器。 可以在 Python 环境窗口中检查所选解释器。

  3. 在主工具栏上,选择 调试>启动 Python 分析。 Visual Studio 将打开“分析设置”对话框:

    Visual Studio 中“分析设置”配置对话框的屏幕截图。

  4. 分析设置 对话框中,选择要分析的代码文件或项目代码:

    • 若要分析所有项目代码,请执行以下操作:

      1. 选择 打开项目

      2. 从下拉列表中选择项目。 该列表显示当前 Visual Studio 解决方案中的所有项目。

    • 若要分析特定文件,请执行以下操作:

      1. 选择“独立脚本”。

      2. 在下拉列表中选择“Python 解释器”或浏览至该位置。 若要指定未列出的解释器,请在下拉列表中选择 其他,然后指定 解释器路径

      3. 识别“脚本”文件或浏览到该位置。

      4. 指定“工作目录”或浏览到该位置。

      5. 为脚本指定任意“命令行参数”。

  5. 选择“开始”。

探查器在 Visual Studio 中运行并打开性能报告。 可以查看报告,了解应用程序中花费的时间:

Visual Studio 2022 中分析性能报告的屏幕截图。

Visual Studio 中分析性能报告的屏幕截图。

将探查器与 IronPython 配合使用

IronPython 是 32 位和 64 位版本中提供的 Python 的 .NET 实现。 IronPython 不是基于 CPython 的解释器。 Visual Studio 支持 IronPython 的标准 Python 调试,但不支持分析功能。

对于 IronPython 项目,可以使用 Visual Studio .NET 探查器。 使用相应的参数直接作为目标应用程序运行 ipy.exe 命令以启动启动脚本。 在命令行中,包括 -X:Debug 参数,以确保可以调试和分析所有 Python 代码。 此参数生成一个性能报告,其中包括在 IronPython 运行时和代码中花费的时间。 你的代码是通过使用重整名称进行标识的。

IronPython 提供一些内置分析,但目前没有可行的可视化工具。 有关详细信息,请参阅 IronPython Profiler(博客)以及 IronPython 文档中的调试和分析