参加你附近的 ,了解 VS Code 中的 AI 辅助开发。

在 VS Code 中开始使用 Python

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

如果您是编程新手,请查看 Visual Studio Code for Education - Python 简介 课程。该课程全面介绍了 Python,在一个随时可用的基于浏览器的开发环境中提供了结构化的模块。

要更深入地了解 Python 语言,您可以在 VS Code 环境中探索 python.org 上列出的任何编程教程

有关侧重于数据科学的 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 这样的包管理系统。要在 macOS 上使用 Homebrew 安装 Python,请在终端提示符下使用 brew install python3 命令。

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

Linux

Linux 上内置的 Python 3 安装可以正常工作,但要安装其他 Python 包,您必须使用 get-pip.py 安装 pip

其他选项

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

  • 适用于 Linux 的 Windows 子系统:如果您在 Windows 上工作,并希望有一个 Linux 环境来使用 Python,适用于 Linux 的 Windows 子系统 (WSL) 是您的一个选择。如果您选择此选项,您还需要安装 WSL 扩展。有关在 VS Code 中使用 WSL 的更多信息,请参阅 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 开发者的一个最佳实践是使用项目特定的虚拟环境。一旦您激活了该环境,您之后安装的任何包都将与包括全局解释器环境在内的其他环境隔离,从而减少了因包版本冲突而可能出现的许多复杂问题。您可以使用 Venv 或 Anaconda 通过 Python: Create Environment 在 VS Code 中创建非全局环境。

打开命令面板 (⇧⌘P (Windows, Linux Ctrl+Shift+P)),开始键入 Python: Create Environment 命令进行搜索,然后选择该命令。

该命令会列出环境类型,Venv 或 Conda。在本例中,选择 Venv

Create Environment dropdown

然后,该命令会列出可用于您项目的解释器。选择您在本教程开始时安装的解释器。

Virtual environment interpreter selection

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

Create environment status notification

使用命令面板中的 Python: Select Interpreter 命令,确保已选择您的新环境。

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 扩展也完全支持代码检查 (Linting)

运行 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" 来关闭智能发送。

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

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

配置并运行调试器

现在让我们尝试调试我们的 Python 程序。调试支持由 Python Debugger 扩展提供,该扩展随 Python 扩展自动安装。为确保其已正确安装,请打开扩展视图 (⇧⌘X (Windows, Linux Ctrl+Shift+X)) 并搜索 @installed python debugger。您应该在结果中看到 Python Debugger 扩展。

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 File,这是使用当前选定的 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)以运行程序至完成。如果您切换回Python 调试控制台,"Roll a dice!" 会出现在其中,并且一旦程序完成,VS Code 就会退出调试模式。

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

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

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

提示:使用日志点代替 print 语句:开发人员经常在源代码中散布 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 还有更多值得探索的内容: