在VS Code 中使用Python

在VS Code 中使用Python

在本教程中,你将使用Python 3在Visual Studio Code 中创建最简单的Python“Hello World”应用程序。通过使用Python扩展,你可以将VS Code 配置成一个非常轻量级的Python IDE(你可以使用PyCharm作为高效的替代品)。

本教程向你介绍Python环境的VS Code,主要介绍如何通过以下任务进行编辑、运行和调试代码:

  • 编写、运行和调试Python“Hello World”应用程序
  • 了解如何通过创建Python虚拟环境来安装包
  • 编写一个简单的Python脚本来绘制VS Code中的图形

本教程并不打算教你Python本身。一旦你熟悉了VS Code 的基础,你就可以在VS Code 中学习programming tutorials on python.org 上的任何编程教程。
如果你有任何问题,请访问 VS Code documentation repository

注意:你可以在本教程中使用Python 2,但是你需要对代码进行适当的更改,这里不涉及这些更改。

预备知识

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

  • VS Code
  • VS Code Python extension
  • Python 3

安装Visual Studio和Python扩展

  1. 如果你还没有这样做,安装VS Code
  2. 接下来,在Visual Studio Marketplace中安装VS Code的Python扩展。有关安装扩展的详细信息,请参阅Extension Marketplace。Python扩展名为Python,由Microsoft发布。

在VS Code 中使用Python_第1张图片

安装Python解释器

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

Windows

从python.org安装Python。你通常可以使用页面上第一个出现的Download Python按钮来下载最新版本。

注意:如果你没有管理员权限,在Windows上安装Python的另一个选项是使用Microsoft Store。微软商店提供Python 3.7和Python 3.8的安装。请注意,你可能会与使用此方法的某些包存在兼容性问题。

有关Windows上Python的更多信息,请参见在Windows上使用 Python

macOS

在macOS上不支持安装Python系统。相反,建议通过自制安装。要在macOS上使用自制程序安装Python,请在终端提示符处使用brew install python3

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

Linux

Linux上内置的Python 3安装工作得很好,但是要安装其他Python包,必须用get-pip.py安装pip

其他选项

  • 数据科学:如果使用Python的主要目的是数据科学,那么可以考虑从Anaconda下载。Anaconda不仅提供了一个Python解释器,还提供了许多有用的库和数据科学工具。
  • Windows Subsystem for Linux:如果你正在Windows上工作,并且希望有一个用于Python的Linux环境,那么Windows Subsystem for Linux(WSL)是你的一个选择。如果选择此选项,还需要安装远程WSL扩展。有关在VS Code中使用WSL的更多信息,请参阅VS Code远程开发或尝试在WSL中工作的教程,该教程将指导你设置WSL、安装Python和创建在WSL中运行的Hello World应用程序。

验证Python安装

要验证已经在你的机器上成功安装了Python,请运行以下命令之一(取决于你的操作系统):

  • Linex/macOS:打开终端窗口并输入以下命令:
python3 --version
  • Windows:打开终端窗口并输入以下命令:
python3 -3 --version

如果安装成功,输出窗口应该显示你安装的Python版本。

注意,你可以在VS Code集成终端中使用py -0命令查看安装在你的机器上的python版本。默认解释器由星号(*)标识。

在项目(工作空间)文件夹中启动VS Code

在命令提示符或终端,创建一个名为“hello”的空文件夹,导航到其中,并打开VS Code (Code)在该文件夹(.)中,输入以下命令:

mkdir hello
cd hello
code .

注意:如果你使用的是Anaconda分发版,请确保使用Anaconda命令提示符。

通过在一个文件夹中启动VS Code,该文件夹将成为你的“工作空间”。VS Code在.vscode/settings.json中存储特定于该工作区的设置,它独立于全局存储的用户设置。

或者,你可以通过操作系统UI运行VS Code,然后使用File > Open Folder来打开项目文件夹。

选择一个Python解释器

Python是一种解释语言,为了运行Python代码,你必须告诉VS Code使用哪个解释器。

从VS Code中,选择一个Python 3解释器通过打开命令面板(⇧⌘P),开始键入Python:Select Interpreter命令来搜索,然后选择这个命令。你也可以使用状态栏上的Select Python Environment选项(它可能已经显示了一个选择的解释器):

该命令提供VS Code 可以自动找到的可用解释器列表,包括虚拟环境。如果你没有看到所需的解释器,请参阅配置Python环境。

注意:当使用Anaconda时,正确的解释器应该有后缀
('base':conda), 例如 Python 3.7.3 64-bit ('base':conda).

选择解释器后,将为工作区配置中的python.pythonPath值设置为解释器的路径。要查看设置,请选择File > Preferences > Settings (Code > Preferences > Settings on macOS),选择Workspace Settings选项卡。

注意:如果你选择打开一个没有解释器的工作区文件夹,VS Code会在你的用户设置中的python.pythonPath设置成VS Code默认解释器,确保Python项目始终有一个默认的解释器。工作区设置允许你覆盖用户设置。

创建一个Python Hello World源代码文件

从File Explorer工具栏中,选择hello文件夹上的New File按钮:

在VS Code 中使用Python_第2张图片

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

在VS Code 中使用Python_第3张图片

通过使用.py文件扩展名,你可以告诉VS Code将该文件解释为Python程序,这样它就可以使用Python扩展名和所选的解释器来运行代码。

注意:File Explorer工具栏还允许你在工作区中创建文件夹,以便更好地组织代码。可以使用New folder按钮快速创建文件夹。

现在你的工作空间中已经有了一个代码文件,在hello.py中输入以下源代码:

msg = "Hello World"
print(msg)

当你开始键入print时,请注意智能感知是如何显示自动完成选项的。

在VS Code 中使用Python_第4张图片

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

在VS Code 中使用Python_第5张图片

随时体验与智能感知更多的功能,现在撤销你的更改,只是print变量,并保存文件(⌘ S)。 有关编辑、格式化和重构的详细信息,请参阅编辑代码。Python扩展也完全支持Linting。

运行 Hello World

用Python运行hello.py很简单。只需单击编辑器右上角的终端播放按钮中的Run Python文件。

在VS Code 中使用Python_第6张图片

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

在VS Code 中使用Python_第7张图片

有三种其他方式,你可以运行Python的VS Code:

  • 右击编辑器窗口的任何地方,并选择Run Python File in Terminal (这将自动保存文件):

在VS Code 中使用Python_第8张图片

  • 选择一个或多个行,然后按Shift+Enter或右键单击,选择Run Selection/Line in Python Terminal。这个命令对于测试文件的一部分很方便。
  • 从命令面板(⇧⌘P),选择Python: Start REPL命令在当前选中的Python解释器中打开一个REPL终端。在REPL中,你可以一次输入并运行一行代码。

配置并运行调试器

现在让我们尝试调试简单的Hello World程序。
首先,在hello.py的第2行设置一个断点,方法是将光标放在print调用上并按下F9。或者,只需单击编辑器左侧的行号旁边。当你设置断点时,一个红色的圆圈出现在边栏中。

在VS Code 中使用Python_第9张图片

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

在VS Code 中使用Python_第10张图片

注意:VS Code的所有配置都使用JSON文件。launch.json是包含调试配置的文件名称。

这些不同的配置在调试配置中得到了充分的解释;现在,只需选择Python File,它是使用当前选择的Python解释器运行编辑器中显示的当前文件的配置。
调试器将在文件断点的第一行停止。当前行在左边的空白处用一个黄色箭头表示。如果此时检查局部变量窗口,你将看到现在已定义的msg变量出现在局部窗格中。

在VS Code 中使用Python_第11张图片

一个调试工具栏出现在顶部,以下命令从左到右:继续(F5),跨过(F10)进入(F11),跳出(⇧F11),重启(⇧⌘F5),和停止(⇧F5)。

状态栏也会改变颜色(在许多主题中为橙色),以指示你处于调试模式。Python Debug Console也会自动出现在右下角的面板中,以显示正在运行的命令以及程序输出。
要继续运行程序,请选择debug工具栏上的continue命令(F5)。调试器将程序运行到最后。

技巧:调试信息也可以通过在代码上悬停来查看,比如变量。对于msg,将鼠标悬停在变量上将在变量上方的框中显示字符串Hello world

你还可以在Debug Console中使用变量(如果你没有看到它,请选择VS Code右下角的Debug Console中,或者从…菜单。)然后,在控制台底部的>提示符中,一个接一个地输入以下行:

msg
msg.capitalize()
msg.split()

在VS Code 中使用Python_第12张图片

再次选择工具栏上的蓝色Continue按钮(或按F5)以运行程序直至完成。如果切换回Python Debug Console,则会出现“Hello World”,程序完成后VS Code 退出调试模式。

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

停止运行一个程序完成之前,使用调试工具栏上的红场停止按钮(⇧F5),或者使用Debug > Stop debugging菜单命令。

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

提示:使用Logpoints而不是print语句:开发人员经常在源代码中使用print语句来快速检查变量,而不必在调试器中逐行检查每一行代码。在VS Code 中,可以使用Logpoints。Logpoint类似于断点,只是它将消息记录到控制台,并且不停止程序。有关更多信息,请参阅VS Code调试文章中的Logpoints。

安装和使用包

现在让我们运行一个更有趣的例子。在Python中,包是获取任意数量的有用代码库的方式,通常从PyPI获取。对于本例,你将使用matplotlibnumpy包来创建图形图表,就像通常使用数据科学所做的那样。(注意,matplotlib在Windows Subsystem for Linux中运行时不能显示图形,因为它缺乏必要的UI支持。)
返回资源管理器视图(左侧最上面的图标,显示文件),创建一个名为standardplot.py的新文件。,并粘贴在以下源代码:

import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(0, 20, 100)  # Create a list of evenly-spaced numbers over the range
plt.plot(x, np.sin(x))       # Plot the sine of each x point
plt.show()                   # Display the plot

提示:如果你手动输入上述代码,你可能会发现,当你在一行的末尾按回车键时,自动补全将更改as关键字后面的名称。要避免这种情况,请键入空格,然后回车。

接下来,使用上一节中描述的“Python: Current file”配置在调试器中运行该文件。

除非你使用的是Anaconda发行版,或者之前已经安装了matplotlib包,否则应该会看到这样一条消息**“ModuleNotFoundError: No module named ‘matplotlib’”**。这样的消息表明所需的包在系统中不可用。

安装matplotlib包(也安装numpy依赖性),停止调试器,使用命令面板运行终端:Terminal: Create New Integrated Terminal(⌃⇧'))。此命令为你选择的解释器打开一个命令提示符。

Python开发人员的最佳实践是避免将包安装到全局解释器环境中。而是使用包含全局解释器副本的特定于项目的虚拟环境。一旦激活该环境,然后安装的任何包都将与其他环境隔离。这种隔离减少了许多可能由冲突的包版本引起的复杂性。要创建虚拟环境并安装所需的包,请输入适合你的操作系统的以下命令:

注意:有关虚拟环境的更多信息,请参见环境。

  1. 创建并激活虚拟环境
  • 注意:当你创建一个新的虚拟环境时,VS Code 会提示你将其设置为工作空间文件夹的默认值。如果选择,当你打开一个新终端时,环境将自动激活。

在VS Code 中使用Python_第13张图片

For windows

py -3 -m venv .venv
.venv\scripts\activate

如果激活命令生成消息"Activate.ps1 is not digitally signed. You cannot run this script on the current system.",你需要临时更改PowerShell执行策略以允许脚本运行(有关执行策略,请参阅PowerShell文档)

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process

For macOS/Linux

python3 -m venv .venv
source .venv/bin/activate
  1. 从命令面板中使用Python: Select Interpreter命令选择新环境。
  2. 安装包
# Don't use with Anaconda distributions because they include matplotlib already.

# macOS
python3 -m pip install matplotlib

# Windows (may require elevation)
python -m pip install matplotlib

# Linux (Debian)
apt-get install python3-tk
python3 -m pip install matplotlib
  1. 现在重新运行程序(有或没有调试器),几分钟后会出现一个绘图窗口,输出如下:

在VS Code 中使用Python_第14张图片

  1. 完成后,在终端窗口中键入deactivate以关闭虚拟环境。

有关创建和激活虚拟环境以及安装包的更多示例,请参阅Django教程和Flask教程。

下一步

你可以配置VS Code来使用你安装的任何Python环境,包括虚拟环境和conda环境。还可以使用单独的环境进行调试。有关详细信息,请参见环境。

要了解更多关于Python语言的知识,请参阅programming tutorials 在python.org上的任何编程教程。

要学习使用Django和Flask框架构建web应用程序,请参阅以下教程:

  • 在Visual Studio Code 中使用Django
  • 在Visual Studio Code 中使用Flask

然后,在Visual Studio Code 中有更多关于Python的探索:

  • 编辑代码——了解Python的自动完成、智能感知、格式化和重构。
  • Linting—启用、配置和应用各种Python语言标记。
  • 调试——学习在本地和远程调试Python。
  • 测试——配置测试环境,发现、运行和调试测试。
  • 设置参考-探索VS Code中与python相关的全部设置。
  • 使用容器将Python部署到Azure应用程序服务
  • 将Python部署到Linux上的Azure应用程序服务

你可能感兴趣的:(VSCode,Python,VSCode)