尝试以扩展 VS Code 中的代理模式!

VS Code Python 入门

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

如果你是编程新手,请查阅Visual Studio Code 教育版 - 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 开发者中一个最佳实践是使用项目特定的 virtual environment(虚拟环境)。一旦你激活了该环境,你随后安装的任何包都将与包括全局解释器环境在内的其他环境隔离,从而减少因包版本冲突而可能引起的许多复杂问题。你可以在 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 扩展还完全支持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: 启动终端 REPL命令,为当前选定的 Python 解释器打开一个 REPL 终端(由 >>> 标记)。在 REPL 中,你可以逐行输入和运行代码。

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

配置并运行调试器

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

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

接下来,通过将光标放在 print 调用处并按 F9 来在 hello.py 的第 2 行设置一个断点。或者,单击编辑器左侧的空白处,靠近行号。当你设置断点时,空白处会出现一个红圈。

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)以完成程序运行。如果你切换回Python 调试控制台,会显示“掷骰子!”,并且程序完成后 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 还有更多值得探索的地方