Windows 上 Visual Studio 中的 Python 支持

Python 是一种受欢迎的编程语言,它可靠、灵活、易于学习、可在所有操作系统上免费使用,并且强大的开发人员社区和很多免费库都支持它。 Python 支持各种开发方式,包括 Web 应用、Web 服务、桌面应用、脚本编写和科学计算。 科学家、业余开发人员、专业开发人员和许多大学都使用 Python 进行编程。 可以在 python.orgPython for Beginners(面向初学者的 Python)中了解有关该语言的详细信息。

Visual Studio 是 Windows 上功能强大的 Python IDE。 Visual Studio 通过 Python 开发和数据科学工作负载(Visual Studio 2017 及更高版本)和免费的针对 Visual Studio 的 Python 工具扩展(Visual Studio 2015 及更早版本),为 Python 语言提供开源代码支持。 学习 Visual Studio IDE 教程,熟悉用于编写和编辑 Python 代码的 IDE 功能。

Visual Studio Code 可在 Mac 和 Linux 上使用。 有关详细信息,请参阅问题和解答

开始操作:

对多个解释器的支持

Visual Studio 的“Python 环境”窗口具有一块用于管理所有全局 Python 环境、conda 环境和虚拟环境的单独区域。 Visual Studio 可自动检测出标准位置是否安装 Python,并且允许用户配置自定义安装。 在每个环境中,用户都可以轻松管理包、打开该环境的交互窗口和访问环境文件夹。

Screenshot that shows the expanded view of the Python Environments window in Visual Studio 2019.

Screenshot that shows the expanded view of the Python Environments window in Visual Studio 2022.

使用“打开交互窗口”命令,在 Visual Studio 的上下文中以交互方式运行 Python。 使用“在 PowerShell 中打开”命令,在所选环境的文件夹中打开单独的命令窗口。 可在该命令窗口运行任何 python 脚本。

有关详细信息,请参阅:

多种多样的编辑、IntelliSense 和代码理解

Visual Studio 具备出色的 Python 编辑器,包括语法着色、跨代码和库的自动完成、代码格式设置、签名帮助、重构、Lint 分析和类型提示。 Visual Studio 还提供一些独一无二的功能,如类视图、转到定义、查找所有引用和代码片段。 与交互窗口直接集成有助于快速开发文件中现有的 Python 代码。

Screenshot that shows code completions for Python code in Visual Studio.

有关详细信息,请参阅:

交互窗口

对于 Visual Studio 已知的每个 Python 环境,用户都可以直接在 Visual Studio 中轻松打开 Python 解释器的相同交互 (REPL) 环境,而无需使用单独的命令提示符。 也可以轻松地切换环境。 若要打开单独的命令提示符,请在“Python环境”窗口中选择所需的环境,然后如之前的对多个解释器的支持中所述,选择“在 PowerShell 中打开”命令

Screenshot that shows the expanded view of the Python interactive window in Visual Studio 2019.

Screenshot that shows the expanded view of the Python interactive window in Visual Studio 2022.

Visual Studio 还紧密集成了 Python 代码编辑器和交互窗口。 使用 Ctrl+Enter 键盘快捷方式可将编辑器中的当前代码行(或代码块)发送给交互窗口,然后移至下一行(或块),非常方便。 使用 +Enter 无需运行调试程序即可轻松浏览代码。 还可以使用相同的键盘快捷方式将选定代码发送给交互窗口,并轻松地将交互 窗口中的代码粘贴到编辑器中。 将这些功能结合使用可以在交互窗口中找出代码段的详细信息,并将结果轻松保存到编辑器的文件中。

Visual Studio 还支持 REPL 中的 IPython/Jupyter,包括内联图、.NET 和 Windows Presentation Foundation (WPF)。

参考信息:

项目系统、项目模板和项模板

Visual Studio 可帮助管理项目随时间增加的复杂性。 Visual Studio 项目不仅仅是文件夹结构。 项目有助于了解不同文件的使用方式以及它们彼此之间的关系。 Visual Studio 可帮助用户区分应用代码、测试代码、网页、JavaScript 和生成脚本等,从而启用文件对应的功能。 Visual Studio 解决方案可以帮助用户管理多个相关的项目,例如 Python 项目和 C++ 扩展项目。

注意

在 Visual Studio 2019 及更高版本中,你可以打开包含 Python 代码的文件夹并在不创建 Visual Studio 项目或解决方案文件的情况下运行该代码。 有关详细信息,请参阅快速入门:打开并运行文件夹中的 Python 代码。 请记住,使用项目文件会获得本部分所述的优势。

下图显示了一个 Visual Studio 解决方案示例,其中包含“解决方案资源管理器”中的 Python 和 Flask 项目。

Screenshot that shows a Visual Studio solution containing both Python and Flask projects in Solution Explorer.

项目和项模板会自动执行设置不同类型的项目和文件的过程。 模板可节省宝贵的时间,使你不用管理复杂且容易出错的详细信息。 Visual Studio 为 Web、Azure、数据科学、控制台和其他类型的项目提供模板。 可以找到用于 Python 类、单元测试、Azure Web 配置、HTML 甚至 Django 应用等文件的模板。

Screenshot of python project and item templates in Visual Studio

有关详细信息,请参阅:

功能强大的调试程序是 Visual Studio 的优势之一。 特别是对于 Python,Visual Studio 支持 Python/C++ 混合模式调试、在 Linux 上进行远程调试、在交互窗口中进行调试,以及调试 Python 单元测试。

Screenshot of the Visual Studio debugger for Python showing an exception popup dialog.

在 Visual Studio 2019 及更高版本中,可以在不使用 Visual Studio 项目文件的情况下运行和调试代码。 请参阅快速入门:打开并运行文件夹中的 Python 代码,查看有关示例。

有关详细信息,请参阅:

具有丰富报表的分析工具

通过分析可以了解应用程序内的时间分配。 Visual Studio 支持使用基于 CPython 的解释器进行分析,并且能比较运行的不同分析之间的性能差异。

Screenshot that shows the Visual Studio profiler results for a Python project.

有关详细信息,请参阅:

单元测试工具

在 Visual Studio 测试资源管理器中发现、运行和管理测试,并且可轻松调试单元测试。

Screenshot that shows debugging output for a Python unit test in Visual Studio.

有关详细信息,请参阅:

用于 Python 的 Azure SDK

用于 Python 的 Azure 库简化了从 Windows、macOS X 和 Linux 应用中使用 Azure 服务的过程。 可以使用它们创建和管理 Azure 资源,以及连接到 Azure 服务。

有关详细信息,请参阅 Azure SDK for Python用于 Python 的 Azure 库

问题与解答

问: 是否可通过 Visual Studio for Mac 获得 Python 支持?

A. 目前不支持 Visual Studio for Mac。 有关详细信息,请参阅 Visual Studio for Mac 发生了什么情况?Windows、Mac 和 Linux 上的 Visual Studio Code 通过可用扩展与 Python 配合工作

Q. 构建 Python UI 可以使用什么工具?

A. 该领域的主要产品是 Qt 项目,其中与 Python 的绑定称为 PySide(官方绑定)(另请参阅 PySide 下载)和 PyQt。 Visual Studio 中的 Python 支持不包括用于 UI 开发的任何特定工具。

问: Python 项目是否可以生成独立的可执行文件?

A. Python 通常是一种解释型语言,代码在适合 Python 功能的环境(如 Visual Studio 和 Web 服务器)中按需运行。 目前,Visual Studio 不提供创建独立可执行文件的方法,它本质上是一个具有嵌入式 Python 解释器的程序。 但是,如 StackOverflow 所述,Python 社区提供了不同的方法来创建可执行文件。 如博客文章使用 CPython 可嵌入 zip 文件中所述,CPython 还支持嵌入到本机应用程序中。