在 VS Code 中开始使用 Python
在本教程中,你将学习如何在 Visual Studio Code 中使用 Python 3 创建、运行和调试 Python “掷骰子!”(Roll a dice!)应用程序,使用虚拟环境、使用包等等!通过使用 Python 扩展,你可以将 VS Code 转变为一个出色的轻量级 Python 编辑器。
如果你刚接触编程,请查看 Visual Studio Code 教育版 - Python 简介课程。本课程提供全面的 Python 介绍,并在随时可编码的基于浏览器的开发环境中提供结构化的模块。
要深入了解 Python 语言,你可以在 VS Code 的环境中探索 python.org 上列出的任何 编程教程。
有关以数据科学为重点的 Python 教程,请查看我们的 数据科学部分。
前提条件
要成功完成本教程,你需要先设置 Python 开发环境。具体而言,本教程需要:
- Python 3
- VS Code
- VS Code Python 扩展(有关安装扩展的更多详细信息,请参阅 扩展市场)
了解 Python 设置
如果你刚接触编程工具,了解协同运行 VS Code 中 Python 的三个独立部分会很有帮助:
-
VS Code:用于编写和组织代码的编辑器。
-
Python 扩展:为 VS Code 添加 Python 语言支持,例如智能感知(IntelliSense)、运行和调试。该扩展本身不包含 Python。
-
Python 解释器:实际运行 Python 代码的程序。你需要将其与 VS Code 分开安装。
你将在本教程中安装这三者。VS Code 是工作区,Python 扩展将 VS Code 连接到 Python,而解释器则负责运行你的脚本。
安装 Python 解释器
除了 Python 扩展之外,你还需要安装 Python 解释器。使用哪个解释器取决于你的具体需求,以下提供了一些指导。
Windows
从 python.org 安装 Python。使用页面上首先出现的 Download 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。
其他选项
-
数据科学(Data Science):如果你使用 Python 的主要目的是进行数据科学,那么你可以考虑从 Anaconda 下载。Anaconda 不仅提供 Python 解释器,还提供许多用于数据科学的有用库和工具。
-
适用于 Linux 的 Windows 子系统(WSL):如果你在 Windows 上工作,并且想要一个用于处理 Python 的 Linux 环境,那么 适用于 Linux 的 Windows 子系统 (WSL) 是一个不错的选择。如果选择此选项,你还需要安装 WSL 扩展。有关将 WSL 与 VS Code 配合使用的更多信息,请参阅 VS Code 远程开发 或尝试 在 WSL 中工作教程,它将引导你完成设置 WSL、安装 Python 以及创建在 WSL 中运行的 Hello World 应用程序的过程。
注意:要验证你是否已在计算机上成功安装 Python,请运行以下命令之一(取决于你的操作系统):
Linux/macOS:打开终端窗口并键入以下命令
python3 --versionWindows:打开命令提示符并运行以下命令
py -3 --version如果安装成功,输出窗口应显示你安装的 Python 版本。或者,你可以在 VS Code 集成终端中使用
py -0命令来查看计算机上安装的 Python 版本。默认解释器由星号 (*) 标识。
你可以在终端(也称为 shell)中运行这些命令,终端是允许你键入和运行命令的面板。如果在 VS Code 或终端已经打开的情况下安装 Python,请关闭并重新打开终端(或重启 VS Code),以便它能够检测到新安装的解释器。终端在启动时会读取你的系统配置,因此需要一个新的终端来在你的 PATH 中找到 Python。
在工作区文件夹中启动 VS Code
通过在一个文件夹中启动 VS Code,该文件夹将成为你的“工作区”。
使用命令提示符或终端,创建一个名为“hello”的空文件夹,进入该文件夹,并通过输入以下命令在该文件夹(.)中打开 VS Code(code):
mkdir hello
cd hello
code .
注意:如果你使用的是 Anaconda 发行版,请务必使用 Anaconda 命令提示符。
或者,你可以通过操作系统用户界面创建一个文件夹,然后使用 VS Code 的 文件 (File) > 打开文件夹 (Open Folder) 来打开项目文件夹。
创建虚拟环境
Python 开发人员的最佳实践是使用特定于项目的 虚拟环境。一旦激活该环境,你随后安装的任何包都将与包括全局解释器环境在内的其他环境隔离,从而减少因包版本冲突而产生的许多复杂问题。你可以在 VS Code 中使用 Venv 或 Anaconda 通过 Python: Create Environment 创建非全局环境。
打开命令面板(Command Palette)(⇧⌘P(Windows、Linux Ctrl+Shift+P)),开始键入 Python: Create Environment 命令进行搜索,然后选择该命令。
该命令会显示环境类型列表(Venv 或 Conda)。对于此示例,选择 Venv。

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

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

通过从 命令面板 (Command Palette) 中使用 Python: Select Interpreter 命令,确保已选择你的新环境。

注意:有关虚拟环境的更多信息,或者如果你在环境创建过程中遇到错误,请参阅 环境。
创建 Python 源代码文件
在文件资源管理器工具栏中,选择 hello 文件夹上的 新建文件 (New File) 按钮

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

通过使用 .py 文件扩展名,你是在告诉 VS Code 将此文件解释为 Python 程序,以便它使用 Python 扩展和所选解释器来评估其内容。
注意:文件资源管理器工具栏还允许你在工作区中创建文件夹,以便更好地组织你的代码。你可以使用 新建文件夹 (New folder) 按钮快速创建一个文件夹。
既然工作区中已经有了代码文件,请在 hello.py 中输入以下源代码
msg = "Roll a dice!"
print(msg)
当你开始键入 print 时,请注意 智能感知 (IntelliSense) 如何呈现自动完成选项。

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

最后,保存文件(⌘S(Windows、Linux Ctrl+S))。此时,你已准备好在 VS Code 中运行你的第一个 Python 文件。
有关编辑、格式化和重构的完整详细信息,请参阅 编辑代码。Python 扩展还完全支持 代码检查 (Linting)。
运行 Python 代码
单击编辑器右上角的 运行 Python 文件 (Run Python File) 播放按钮。

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

你还可以在 VS Code 中通过以下三种其他方式运行 Python 代码
-
在编辑器窗口中的任意位置右键单击,然后选择 Run Python > Run Python File in Terminal(这会自动保存文件)

-
选择一行或多行,然后按 Shift+Enter 或右键单击并选择 Run Python > Run Selection/Line in Python Terminal。或者,你可以在没有选区的情况下使用 Shift+Enter 激活智能发送(Smart Send),Python 扩展会将光标所在位置附近最小的可运行代码块发送到终端。此命令便于测试文件的某一部分。
注意:如果你更喜欢发送光标所在特定行的代码,可以通过在 用户 (User) 设置中将
python.REPL.enableREPLSmartSend : "false"设置为关闭来禁用智能发送。 -
从命令面板(Command Palette)(⇧⌘P(Windows、Linux Ctrl+Shift+P))中,选择 Python: Start Terminal REPL 命令为当前选定的 Python 解释器打开 REPL 终端(由
>>>表示)。然后,你可以在 REPL 中逐行输入并运行代码。
恭喜,你刚刚在 Visual Studio Code 中运行了你的第一段 Python 代码!
配置并运行调试器
现在让我们尝试调试我们的 Python 程序。调试支持由 Python 调试器扩展 (Python Debugger extension) 提供,该扩展随 Python 扩展自动安装。为确保已正确安装它,请打开 扩展 (Extensions) 视图(⇧⌘X(Windows、Linux Ctrl+Shift+X))并搜索 @installed python debugger。你应该会在结果中看到列出的 Python Debugger 扩展。

接下来,通过将光标放在 print 调用上并按 F9,在 hello.py 的第 2 行设置断点。或者,单击编辑器左侧行号旁边的空白槽(gutter)。设置断点时,空白槽中会出现一个红圈。

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

注意:VS Code 对其各种配置均使用 JSON 文件;
launch.json是包含调试配置的文件的标准名称。
选择 Python File,该配置使用当前选定的 Python 解释器运行编辑器中显示当前文件。
调试器将启动,然后在文件断点的第一行停止。当前行在左侧边距中由黄色箭头指示。如果你此时检查 局部 (Local) 变量窗口,你会发现 msg 变量出现在 Local 窗格中。

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

状态栏也会改变颜色(在许多主题中为橙色),以表明你处于调试模式。Python 调试控制台 (Python Debug Console) 也会自动出现在右下角面板中,显示正在运行的命令以及程序输出。
要继续运行程序,请选择调试工具栏上的继续命令(F5)。调试器将运行程序直到结束。
提示:通过将光标悬停在代码(例如变量)上,也可以查看调试信息。以
msg为例,将光标悬停在变量上将会在变量上方的一个框中显示字符串Roll a dice!。
你还可以在 调试控制台 (Debug Console) 中操作变量(如果看不到它,请在 VS Code 的右下角区域选择 Debug Console,或从 ... 菜单中选择它)。然后尝试在控制台底部的 > 提示符处逐行输入以下内容
msg
msg.capitalize()
msg.split()

再次单击工具栏上的蓝色 继续 (Continue) 按钮(或按 F5)以运行程序直到完成。如果你切回 Python 调试控制台,“Roll a dice!” 会显示在其中,并且程序完成后,VS Code 会退出调试模式。
如果你重启调试器,调试器会再次在第一个断点处停止。
要在程序完成之前停止运行,请使用调试工具栏上的红色方形停止按钮(⇧F5(Windows、Linux Shift+F5)),或使用 运行 (Run) > 停止调试 (Stop debugging) 菜单命令。
有关完整详细信息,请参阅 调试配置,其中包含有关如何使用特定 Python 解释器进行调试的说明。
提示:使用日志点(Logpoints)代替 print 语句:开发人员经常在源代码中充斥着
安装和使用包
让我们在前面示例的基础上使用包。
在 Python 中,包是你获取任意数量有用代码库的方式,这些代码库通常来自 PyPI,可为你的程序提供附加功能。对于此示例,你将使用 numpy 包来生成随机数。
返回 资源管理器 (Explorer) 视图(左侧最顶部的图标,用于显示文件),打开 hello.py,并粘贴以下源代码
import numpy as np
msg = "Roll a dice!"
print(msg)
print(np.random.randint(1,9))
提示:如果你手动输入上述代码,你可能会发现在行尾按 Enter 时,自动完成会将
as关键字后面的名称更改。为避免这种情况,请键入一个空格,然后按 Enter。
接下来,按照上一节所述,使用“Python: Current file”配置在调试器中运行文件。
你应该会看到消息 "ModuleNotFoundError: No module named 'numpy'"。此消息表明你的解释器中没有所需的包。如果你使用的是 Anaconda 发行版或以前安装过 numpy 包,则可能不会看到此消息。
要安装 numpy 包,请停止调试器并使用以下方法之一
选项 1:使用包管理 UI
- 打开 Python 侧边栏并展开 Environment Managers(环境管理器)
- 右键单击你的环境并选择 Manage Packages(管理包)
- 搜索
numpy并选择 Install(安装)
选项 2:使用终端
从命令面板运行 Terminal: Create New Terminal(⌃⇧`(Windows、Linux Ctrl+Shift+`))。此命令会为所选解释器打开一个命令提示符。
要在虚拟环境中安装所需的包,请根据你的操作系统输入适当的命令
# Don't use with Anaconda distributions because they include matplotlib already.
# macOS
python3 -m pip install numpy
# Windows (may require elevation)
python -m pip install numpy
# Linux (Debian)
apt-get install python3-tk
python3 -m pip install numpy
现在,带或不带调试器重新运行程序以查看输出!
跨环境管理依赖项
在处理 Python 项目时,有效管理依赖项至关重要。一个有用的提示是使用 pip freeze > requirements.txt 命令。此命令可帮助你创建一个 requirements.txt 文件,该文件列出了虚拟环境中安装的所有包。然后,该文件可用于在其他地方重新创建相同的环境。
当你使用 Python: Create Environment 或 Environment Managers 视图中的 + 按钮创建新环境时,扩展会自动检测并从工作区中存在的 requirements.txt 或 pyproject.toml 中安装依赖项。
按照以下步骤创建 requirements.txt 文件
-
激活你的虚拟环境(如果尚未激活)。
source venv/bin/activate # On macOS/Linux.\venv\Scripts\activate # On Windows -
生成
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 还有更多内容可供探索
- Python 配置文件模板 - 创建一个带有精选扩展、设置和代码片段的新 配置文件
- 编辑代码 - 了解 Python 的自动完成、IntelliSense、格式化和重构。
- 代码检查 (Linting) - 启用、配置和应用各种 Python 代码检查工具。
- 调试 - 了解如何在本地和远程调试 Python。
- 测试 - 配置测试环境并发现、运行和调试测试。
- 设置参考 - 探索 VS Code 中与 Python 相关的全套设置。
- 将 Python 部署到 Azure App Service
- 将 Python 部署到容器应用 (Container Apps)