在VS Code中开始使用Python

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

如果你是编程新手,可以查看Visual Studio Code for Education - Introduction to Python课程。该课程提供了全面的Python入门介绍,包含在基于浏览器的即用型开发环境中的结构化模块。

为了更深入地理解Python语言,你可以在VS Code的上下文中探索python.org上列出的任何编程教程

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

先决条件

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

安装Python解释器

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

Windows

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

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

有关在Windows上使用Python的更多信息,请参阅在Python.org上使用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解释器,还提供了许多用于数据科学的有用库和工具。

  • Windows Subsystem for Linux: 如果您在Windows上工作并希望使用Linux环境来使用Python,Windows Subsystem for Linux (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命令提示符。

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

创建一个虚拟环境

Python 开发者的一个最佳实践是使用项目特定的 virtual environment。一旦你激活了该环境,你安装的任何包都将与其他环境隔离,包括全局解释器环境,从而减少因包版本冲突而可能引发的许多复杂问题。你可以在 VS Code 中使用 Venv 或 Anaconda 通过 Python: Create Environment 创建非全局环境。

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

该命令显示了一系列环境类型,如Venv或Conda。在本例中,选择Venv

创建环境下拉菜单

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

虚拟环境解释器选择

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

创建环境状态通知

确保通过使用命令面板中的Python: 选择解释器命令来选择您的新环境。

选择一个解释器

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

创建一个Python源代码文件

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

文件资源管理器新建文件

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

文件资源管理器 hello.py

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

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

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

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

当你开始输入 print 时,注意 IntelliSense 如何提供自动完成选项。

Python代码的IntelliSense显示

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

IntelliSense 出现在一个类型提供方法的变量上

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

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

运行 Python 代码

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

使用运行Python文件按钮

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

Python终端中的程序输出

在VS Code中运行Python代码的另外三种方式:

  1. 在编辑器窗口中的任意位置右键点击并选择运行Python > 在终端中运行Python文件(这将自动保存文件):

    在Python编辑器中运行终端命令的Python文件

  2. 选择一行或多行,然后按下 Shift+Enter 或右键点击并选择 运行 Python > 在 Python 终端中运行选择/行。或者,您可以在没有选择的情况下使用 Shift+Enter 激活智能发送,Python 扩展将发送光标所在位置附近的最小可运行代码块到终端。此命令便于测试文件的一部分。

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

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

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

配置并运行调试器

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

在VS Code的已安装扩展视图中显示的Python调试器扩展。

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

在hello.py中设置断点

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

Python调试器配置选项列表

注意: VS Code 使用 JSON 文件进行各种配置;launch.json 是包含调试配置的文件的标准名称。

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

调试器将启动,然后停在文件断点的第一行。当前行在左边距用黄色箭头指示。如果你此时检查Local变量窗口,你可以看到msg变量出现在Local面板中。

调试步骤2 - 变量已定义

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

调试工具栏

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

要继续运行程序,请在调试工具栏上选择继续命令(F5)。调试器将运行程序直到结束。

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

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

msg
msg.capitalize()
msg.split()

调试步骤3 - 使用调试控制台

再次选择工具栏上的蓝色继续按钮(或按下F5)以运行程序至完成。如果您切换回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还有更多可以探索的内容: