你好!在这篇教程中,你将学习如何在Visual Studio Code中使用Python 3创建、运行和调试一个Python“掷骰子”的应用程序,使用虚拟环境,使用包等等!通过使用Python扩展,你可以将VS Code变成一个出色的、轻量级的Python编辑器。
如果你想了解更多关于Python语言的内容,可以在python.org上查看相关的编程教程,结合使用VS Code进行学习。
先决条件
要成功完成这个教程,你需要首先设置好Python开发环境。具体来说,这个教程需要:
- Python 3
- VS Code
- 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。
其他选项
数据科学:如果你使用Python的主要目的是进行数据科学,那么可以考虑从Anaconda下载。Anaconda不仅提供Python解释器,还提供许多有用的数据科学库和工具。
Windows子系统用于Linux:如果你在Windows上工作,并希望使用Python进行工作,可以选择使用Windows子系统用于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。可以通过输入以下命令来创建该文件夹,并在其中打开VS Code:
mkdir hello
cd hello
code .
*注意:如果你使用的是Anaconda发行版,请确保使用Anaconda命令提示符。
另外,你也可以通过操作系统的UI创建一个文件夹,然后使用VS Code的“文件”>“打开文件夹”来打开项目文件夹。
创建虚拟环境
Python开发者的最佳实践之一是使用特定于项目的虚拟环境。一旦你激活了该环境,你安装的任何包都将与其他环境(包括全局解释器环境)隔离开,从而减少了由于冲突的包版本而引发的许多问题。你可以在VS Code中使用Venv或Anaconda来创建非全局环境。
-
打开命令面板(Ctrl+Shift+P),开始键入“Python: Create Environment”命令来搜索,然后选择该命令。
-
该命令会显示一个环境类型列表,即Venv或Conda。在本例中,选择Venv。
-
然后,该命令会显示可以用于你的项目的解释器列表。选择你在教程开始时安装的解释器。
-
选择解释器后,将显示一个通知,显示环境创建的进度,并在你的工作区中出现环境文件夹(/.venv)。
-
使用命令面板中的“Python: Select Interpreter”命令,确保选择了新环境。
*注意:有关虚拟环境的更多信息,或者如果在创建环境的过程中遇到错误,请参阅Environments。
创建Python源代码文件
在文件资源管理器工具栏中,选择“hello”文件夹上的“新建文件”按钮:
- 以
.py
为扩展名命名文件,VS Code将自动在编辑器中打开它。
通过使用.py
文件扩展名,你告诉VS Code将这个文件解释为Python程序,因此它会使用Python扩展和选择的解释器来评估文件的内容。
*注意:文件资源管理器工具栏还允许你在工
作区内创建文件夹,以更好地组织你的代码。你可以使用“新建文件夹”按钮来快速创建文件夹。
现在,你的工作区中有一个代码文件,可以在hello.py
中输入以下源代码:
msg = "Roll a dice"
print(msg)
当你开始输入print
时,注意到智能感知提供了自动完成选项。
智能感知适用于标准Python模块以及安装到所选Python解释器环境的其他包。它还提供了对象类型上可用的方法的完成。例如,因为msg
变量包含一个字符串,所以当你输入msg.
时,智能感知会提供字符串方法。
最后,保存文件(Ctrl+S)。此时,你已经准备好在VS Code中运行你的第一个Python文件。
有关编辑、格式化和重构的详细信息,请参阅Editing code。Python扩展还对Linting提供了全面支持。
运行Hello World
在编辑器右上角单击“在终端中运行Python文件”播放按钮。
这个按钮会打开一个终端面板,在这个面板中,你的Python解释器会自动激活,然后运行python3 hello.py
(macOS/Linux)或python hello.py
(Windows):
-
你还可以以其他三种方式在VS Code中运行Python代码:
-
在编辑器窗口中的任何位置右键单击,然后选择“运行”>“在终端中运行Python文件”(这会自动保存文件):
-
选择一个或多个行,然后按Shift+Enter或右键单击并选择“在Python终端中运行选择/行”。这个命令方便你测试文件的一部分。
-
从命令面板(Ctrl+Shift+P)中选择“Python: Start REPL”命令,以打开当前选择的Python解释器的REPL终端。在REPL中,你可以逐行输入和运行代码。
配置和运行调试器
现在,让我们尝试调试我们的Hello World程序。
首先,在hello.py
的第2行上设置一个断点,方法是将光标放在print
调用上,然后按F9。或者,单击编辑器左侧的装订线旁边的位置编号。当你设置一个断点时,装订线旁边会出现一个红色圆圈。
接下来,按F5初始化调试器。因为这是你第一次调试这个文件,所以会从命令面板打开一个配置菜单,允许你选择打开文件时要使用的调试配置类型。
选择“Python文件”,这是使用当前在编辑器中显示的文件以当前选定的Python解释器运行的配置。
通过单击编辑器上的运行按钮旁边的下拉箭头,然后选择“在终端中调试Python文件”,启动调试器。
调试器将在文件的第一个断点停止。当前行在左边缘显示为黄色箭头。如果此时查看“局部变量”窗口,你将看到现在定义的msg
变量出现在“局部”窗格中。
一个调试工具栏出现在顶部,从左到右依次是:继续(F5)、跳过(F10)、跟入(F11)、跳出(Shift+F11)、重新启动(Ctrl+Shift+F5)和停止(Shift+F5)。
状态栏也会更改颜色(在许多主题中为橙色),表示你处于调试模式。Python调试控制台也会自动显示在右下角面板中,显示正在运行的命令以及程序输出。
要继续运行程序,请选择调试工具栏上的继续命令(F5)。调试器将运行到程序结束。
你还可以通过将鼠标悬停在代码上,例如变量,来查看调试信息。对于msg
,将鼠标悬停在变量上会在变量上方显示字符串“Roll a dice!”。
你还可以在Debug Console中使用变量。如果没有看到它,请在VS Code的右下角区域中选择Debug Console,或从...菜单中选择它。然后尝试逐行输入以下行,一个接一个,位于控制台底部的>提示符下:
msg
msg.capitalize()
msg.split()
再次选择调试工具栏上的蓝色“继续”按钮(或按F5)以运行程序到完成。如果切换回控制台,将显示“Roll a dice!”,并且一旦程序完成,VS Code将退出调试模式。
如果重新启动调试器,调试器将再次停在第一个断点上。
要在程序完成之前停止运行程序,请使用调试工具栏上的红色方形停止按钮(Shift+F5),或使用“运行”>“停止调试”菜单命令。
对于完整的详细信息,请参阅Debugging configurations,其中包括如何在调试过程中使用特定的Python解释器的注意事项。
提示:使用Logpoints而不是print语句:开发人员经常在源代码中散布print语句,以快速检查变量,而不一定要在调试器中逐行执行代码。在VS Code中,你可以使用Logpoints。Logpoint类似于断点,但它会将消息记录到控制台,并且不会停止程序。有关更多信息,请参阅主要的VS Code调试文章中的Logpoints。
安装和使用包
让我们通过使用包来构建上一个示例。
在Python中,包是你获取任何数量有用
的代码库的方式,通常从PyPI获得,它们为你的程序提供了额外的功能。对于这个示例,你可以使用numpy包来生成一个随机数。
返回资源管理器视图(左侧最上方的图标,显示文件),打开hello.py
,并粘贴以下源代码:
import numpy as np
msg = "Roll a dice"
print(msg)
print(np.random.randint(1,9))
提示:如果你手动输入上述代码,你可能会发现,在关键字as
后按Enter时,自动完成会更改名称。为了避免这种情况,输入一个空格,然后按Enter。
接下来,使用上一节中描述的“Python: Current file”配置运行文件,可以选择使用或不使用调试器来查看输出!
致谢: 此文章基于 Visual Studio Code 官方 Python 教程编写而成。