现已推出!阅读十月的新功能和修复。

VS Code 中的 Python 入门

在本教程中,您将学习如何在 Visual Studio Code 中使用 Python 3 来创建、运行和调试 Python“掷骰子!”应用程序,使用虚拟环境,使用包等等!通过使用 Python 扩展,您可以将 VS Code 变成一个出色的轻量级 Python 编辑器。

如果您是编程新手,请查看 Visual Studio Code for Education - Python 简介 课程。本课程提供关于 Python 的全面介绍,包含结构化的模块,并提供一个现成的基于浏览器的开发环境。

为了更深入地了解 Python 语言,您可以探索 python.org 上列出的任何 编程教程,并在 VS Code 中学习它们。

要查看一个以 Python 为主的数据科学教程,请查看我们的 数据科学部分

先决条件

要成功完成本教程,您需要先设置 Python 开发环境。具体来说,本教程需要:

安装 Python 解释器

除了 Python 扩展之外,您还需要安装一个 Python 解释器。您使用哪个解释器取决于您的具体需求,但下面提供了一些指导。

Windows

安装 来自 python.org 的 Python。使用页面上首先出现的“下载 Python”按钮下载最新版本。

注意:如果您没有管理员权限,则在 Windows 上安装 Python 的另一个选择是使用 Microsoft Store。Microsoft Store 提供 支持的 Python 版本 的安装。

有关在 Windows 上使用 Python 的更多信息,请参阅 Python.org 上的“在 Windows 上使用 Python”

macOS

macOS 上的系统安装 Python 不受支持。相反,建议使用包管理系统,例如 Homebrew。要使用 Homebrew 在 macOS 上安装 Python,请在终端提示符下使用 brew install python3

注意:在 macOS 上,确保 VS Code 安装位置包含在您的 PATH 环境变量中。有关更多信息,请参阅 这些设置说明

Linux

Linux 上的内置 Python 3 安装效果很好,但要安装其他 Python 包,您必须使用 get-pip.py 安装 pip

其他选项

  • 数据科学:如果您使用 Python 的主要目的是数据科学,那么您可以考虑从 Anaconda 下载。Anaconda 不仅提供 Python 解释器,还提供许多对数据科学有用的库和工具。

  • Windows Subsystem for Linux:如果您在 Windows 上工作,并希望使用 Linux 环境来处理 Python,那么 Windows Subsystem for Linux (WSL) 是您的一个选择。如果您选择此选项,您还需要安装 WSL 扩展。有关将 WSL 与 VS Code 结合使用的更多信息,请参阅 VS Code 远程开发 或尝试 在 WSL 中工作教程,该教程将指导您设置 WSL、安装 Python 以及创建在 WSL 中运行的 Hello World 应用程序。

注意:要验证您是否已成功在计算机上安装 Python,请运行以下命令之一(取决于您的操作系统):

Linux/macOS:打开一个终端窗口,并输入以下命令:

python3 --version

Windows:打开一个命令提示符,并运行以下命令:

py -3 --version

如果安装成功,输出窗口将显示您安装的 Python 版本。或者,您可以在 VS Code 集成终端中使用 py -0 命令查看计算机上安装的 python 版本。默认解释器由星号 (*) 标识。

在工作区文件夹中启动 VS Code

通过在文件夹中启动 VS Code,该文件夹将成为您的“工作区”。

使用命令提示符或终端,创建一个名为“hello”的空文件夹,导航到该文件夹,并在该文件夹(.)中打开 VS Code(code),方法是输入以下命令:

mkdir hello
cd hello
code .

注意:如果您使用的是 Anaconda 发行版,请确保使用 Anaconda 命令提示符。

或者,您可以通过操作系统 UI 创建一个文件夹,然后使用 VS Code 的“文件 > 打开文件夹”来打开项目文件夹。

创建虚拟环境

Python 开发人员中的最佳实践是使用特定于项目的 虚拟环境。激活该环境后,您随后安装的任何包都将与其他环境隔离,包括全局解释器环境,从而减少了由于包版本冲突而产生的许多复杂问题。您可以在 VS Code 中使用 Venv 或 Anaconda 通过“Python: 创建环境”来创建非全局环境。

打开命令面板 (⇧⌘P(Windows、Linux Ctrl+Shift+P),开始输入“Python: 创建环境”命令进行搜索,然后选择该命令。

该命令将显示一个环境类型列表,Venv 或 Conda。在本例中,选择“Venv”。

Create Environment dropdown

该命令将显示一个解释器列表,这些解释器可用于您的项目。选择您在本教程开始时安装的解释器。

Virtual environment interpreter selection

选择解释器后,将显示一个通知,显示环境创建的进度,并且环境文件夹(/.venv)将显示在您的工作区中。

Create environment status notification

使用“Python: 选择解释器”命令(位于“命令面板”中)确保选择了您的新环境。

Select an Interpreter

注意:有关虚拟环境的更多信息,或者如果您在环境创建过程中遇到错误,请参阅 环境

创建 Python 源代码文件

从文件资源管理器工具栏中,选择“hello”文件夹上的“新建文件”按钮。

File Explorer New File

将文件命名为 hello.py,VS Code 将自动在编辑器中打开它。

File Explorer hello.py

使用.py文件扩展名,您告诉 VS Code 将此文件解释为 Python 程序,以便它使用 Python 扩展和选定的解释器来评估其内容。

注意:文件资源管理器工具栏还允许您在工作区内创建文件夹,以便更好地组织您的代码。您可以使用新建文件夹按钮快速创建文件夹。

现在您已经在工作区中拥有了一个代码文件,请在hello.py中输入以下源代码

msg = "Roll a dice!"
print(msg)

当您开始键入print时,请注意IntelliSense是如何提供自动完成选项的。

IntelliSense appearing for Python code

IntelliSense 和自动完成适用于标准 Python 模块以及您安装到选定 Python 解释器环境中的其他包。它还为对象类型上可用的方法提供完成。例如,因为msg变量包含一个字符串,所以当您键入msg.时,IntelliSense 会提供字符串方法。

IntelliSense appearing for a variable whose type provides methods

最后,保存文件(⌘S(Windows、Linux Ctrl+S)。此时,您已准备好运行您在 VS Code 中的第一个 Python 文件。

有关编辑、格式化和重构的完整详细信息,请参阅编辑代码。Python 扩展还完全支持代码风格检查

运行 Python 代码

单击编辑器右上角的运行 Python 文件播放按钮。

Using the Run Python File button

该按钮将打开一个终端面板,其中您的 Python 解释器会自动激活,然后运行python3 hello.py(macOS/Linux)或python hello.py(Windows)。

Program output in a Python terminal

您还可以通过另外三种方式在 VS Code 中运行 Python 代码

  1. 在编辑器窗口中的任何位置右键单击,然后选择运行 Python > 在终端运行 Python 文件(这会自动保存文件)。

    Run Python File in Terminal command in the Python editor

  2. 选择一行或多行,然后按Shift+Enter或右键单击并选择运行 Python > 在 Python 终端运行选定内容/行。或者,您可以使用Shift+Enter激活智能发送,而无需进行选择,Python 扩展将把光标附近最小的可运行代码块发送到终端。此命令便于测试文件的一部分。

注意:如果您希望在光标所在的特定行发送代码,则可以通过在用户设置中设置python.REPL.enableREPLSmartSend : "false"来关闭智能发送。

  1. 从命令面板(⇧⌘P(Windows、Linux Ctrl+Shift+P)中,选择Python: 启动终端 REPL命令,以打开当前选定 Python 解释器的 REPL 终端(用>>>表示)。在 REPL 中,您可以一次输入并运行一行代码。

恭喜,您刚刚在 Visual Studio Code 中运行了第一个 Python 代码!

配置和运行调试器

现在,让我们尝试调试 Python 程序。调试支持由Python 调试器扩展提供,该扩展会随 Python 扩展自动安装。为了确保它已正确安装,请打开扩展视图(左侧最上面的图标,显示文件),搜索@installed python debugger。您应该在结果中看到 Python 调试器扩展。

Python Debugger extension shown in installed extensions view in VS Code.

接下来,在hello.py的第 2 行设置断点,将光标放在print调用上并按F9。或者,单击编辑器左侧边栏中的行号旁边。当您设置断点时,边栏中会出现一个红色圆圈。

Setting a breakpoint in hello.py

接下来,要初始化调试器,请按F5。因为这是您第一次调试此文件,所以一个配置菜单将从命令面板打开,允许您为打开的文件选择要使用的调试配置类型。

List of Python debugger configuration options

注意:VS Code 使用 JSON 文件来保存所有不同的配置;launch.json是包含调试配置的文件的标准名称。

选择Python 文件,这是使用当前选定的 Python 解释器运行编辑器中显示的当前文件的配置。

调试器将启动,然后停止在文件的第一个断点处。当前行用左边缘的黄色箭头指示。如果您此时检查本地变量窗口,您会看到msg变量出现在本地窗格中。

Debugging step 2 - variable defined

一个调试工具栏出现在顶部,从左到右包含以下命令:继续(F5)、单步执行(F10)、步入(F11)、步出(⇧F11(Windows、Linux Shift+F11)、重启(⇧⌘F5(Windows、Linux Ctrl+Shift+F5)和停止(⇧F5(Windows、Linux Shift+F5)。

Debugging toolbar

状态栏也会改变颜色(在许多主题中为橙色),以指示您处于调试模式。Python 调试控制台也会自动出现在右下角的面板中,以显示正在运行的命令以及程序输出。

要继续运行程序,请选择调试工具栏上的继续命令(F5)。调试器将运行程序到最后。

提示:也可以通过将鼠标悬停在代码(如变量)上查看调试信息。在msg的情况下,将鼠标悬停在变量上将在变量上方显示一个框,其中显示字符串Roll a dice!

您也可以在调试控制台中使用变量(如果您没有看到它,请在 VS Code 的右下角选择调试控制台,或者从...菜单中选择它)。然后尝试在控制台底部的>提示符处逐个输入以下行

msg
msg.capitalize()
msg.split()

Debugging step 3 - using the debug console

再次选择工具栏上的蓝色继续按钮(或按F5)以将程序运行到完成。"Roll a dice!"将出现在Python 调试控制台中(如果您切换回它),并且一旦程序完成,VS Code 将退出调试模式。

如果您重新启动调试器,调试器将再次停止在第一个断点处。

要停止运行未完成的程序,请使用调试工具栏上的红色方形停止按钮(⇧F5(Windows、Linux Shift+F5),或使用运行 > 停止调试菜单命令。

有关完整详细信息,请参阅调试配置,其中包括如何使用特定 Python 解释器进行调试的说明。

提示:使用日志点而不是打印语句:开发人员经常在源代码中添加print语句来快速检查变量,而无需在调试器中逐行执行代码。在 VS Code 中,您可以改用日志点。日志点类似于断点,只是它将消息记录到控制台而不停止程序。有关更多信息,请参阅主要 VS Code 调试文章中的日志点

安装和使用包

让我们在前面的示例基础上使用包。

在 Python 中,包是您获得任何数量的有用代码库的方式,通常来自PyPI,它们为您的程序提供额外的功能。在本例中,您使用numpy包来生成随机数。

返回到资源管理器视图(左侧最上面的图标,显示文件),打开hello.py,并粘贴以下源代码

import numpy as np

msg = "Roll a dice!"
print(msg)

print(np.random.randint(1,9))

提示:如果您手动输入上面的代码,您可能会发现自动完成在您按下一行的末尾的Enter键时会更改as关键字后面的名称。要避免这种情况,请键入一个空格,然后按Enter

接下来,使用上一节中描述的“Python: 当前文件”配置在调试器中运行文件。

您应该看到消息“ModuleNotFoundError: No module named 'numpy'”。此消息表明解释器中没有所需的包。如果您使用的是 Anaconda 发行版或之前安装过numpy包,您可能不会看到此消息。

要安装numpy包,请停止调试器并使用命令面板运行终端: 创建新的终端⌃⇧`(Windows、Linux Ctrl+Shift+`)。此命令将为选定的解释器打开一个命令提示符。

要安装虚拟环境中所需的包,请根据您的操作系统输入以下命令

  1. 安装包

    # Don't use with Anaconda distributions because they include matplotlib already.
    
    # macOS
    python3 -m pip install numpy
    
    # Windows (may require elevation)
    py -m pip install numpy
    
    # Linux (Debian)
    apt-get install python3-tk
    python3 -m pip install numpy
    
  2. 现在,重新运行程序(使用或不使用调试器)以查看输出!

跨环境管理依赖项

在进行 Python 项目开发时,有效管理依赖项至关重要。一个有用的技巧是使用pip freeze > requirements.txt命令。此命令有助于您创建一个requirements.txt文件,其中列出了虚拟环境中安装的所有包。然后,可以使用此文件在其他地方重新创建相同的环境。

请按照以下步骤创建 requirements.txt 文件

  1. 如果尚未激活虚拟环境,请先激活它。

    source venv/bin/activate  # On macOS/Linux
    
    .\venv\Scripts\activate   # On Windows
    
  2. 生成 requirements.txt 文件。

    pip freeze > requirements.txt
    

现在,您可以使用新生成的 requirements.txt 文件在另一个环境中安装依赖项。此外,随着项目的复杂性增加,您可以继续向其中添加依赖项。

pip install -r requirements.txt

通过遵循这些步骤,您可确保项目依赖项在不同环境中保持一致,从而更轻松地与他人协作并部署项目。

恭喜您完成 Python 教程!在本教程中,您学习了如何创建 Python 项目、创建虚拟环境、运行和调试 Python 代码以及安装 Python 包。探索更多资源,了解如何在 Visual Studio Code 中充分利用 Python!

后续步骤

要了解如何使用流行的 Python Web 框架构建 Web 应用程序,请参阅以下教程

在 Visual Studio Code 中还有更多关于 Python 的内容可供探索