VS Code中的Python入门

时间:2024-03-30 17:10:09

VS代码中的Python入门

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

先决条件:

要成功完成本教程,您必须执行以下操作:

1、为vs code 安装python扩展

2、安装一个python版本

  • (所有操作系统)从python.org下载; 通常使用页面上首先出现的Download Python 3.7.0按钮(或任何最新版本)。

3、在Windows上,确保Python解释器的位置包含在PATH环境变量中。 您可以通过在命令提示符下运行path来检查这一点。 如果未包含Python解释器的文件夹,请打开Windows设置,搜索“环境”,选择编辑帐户的环境变量 ,然后编辑Path变量以包含该文件夹。

 

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

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

 mkdir hello cd hello code . 

通过在文件夹中启动VS Code,该文件夹将成为您的“工作区”。 VS Code在.vscode/settings.json存储特定于该工作空间的.vscode/settings.json ,这些设置与全局存储的用户设置分开。

选择一个Python解释器

Python是一种解释型语言,为了运行Python代码并获取Python IntelliSense,您必须告诉VS Code使用哪个解释器。

在VS Code中,通过打开命令选项板 ( Ctrl+Shift+P )选择Python 3解释器,开始键入Python:选择Interpreter命令进行搜索,然后选择命令。 如果可用,您还可以使用状态栏上的“ 选择Python环境”选项(它可能已经显示了选定的解释器):

VS Code中的Python入门

该命令显示VS Code可自动查找的可用解释器列表。 如果没有看到所需的解释器,请参阅配置Python环境

选择解释器会将工作空间设置中的python.pythonPath值设置为解释器的路径。 要查看设置,请选择文件首选项 > 设置 ( 代码 > 首选项 > macOS上的设置 ),然后选择工作区设置选项卡。

注意 :如果选择没有打开工作区文件夹的解释器,VS代码会在用户设置中设置python.pythonPath,这通常会为VS代码设置默认解释器。 用户设置确保您始终拥有Python项目的默认解释器。 工作区设置允许您覆盖用户设置。

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

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

VS Code中的Python入门

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

VS Code中的Python入门

通过使用.py文件扩展名,VS Code将此文件解释为Python,并使用Python扩展和所选解释器评估内容。

接下来,如果使用Python 3,请开始输入以下源代码:

 msg = "Hello World" print(msg) 

当您开始键入print ,请注意IntelliSense如何显示自动完成选项。

VS Code中的Python入门

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

VS Code中的Python入门

您可以随意尝试使用IntelliSense,但随后还原更改,以便只有msg变量和print调用,并保存文件( Ctrl+S )。

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

运行Hello World

使用Python运行hello.py很简单。 在编辑器中单击鼠标右键,然后选择“在终端中运行Python文件” (自动保存文件):

VS Code中的Python入门

该命令打开一个终端面板,在其中自动**Python解释器,然后运行python3 hello.py (macOS / Linux)或python hello.py (Windows):

VS Code中的Python入门

在VS Code中可以运行Python的另外两种方法:

  • 选择一行或多行,然后按Shift + Enter或右键单击并选择在Python终端中运行选择/行 。 此命令非常便于测试文件的一部分。
  • 使用Python:Start REPL命令打开当前所选Python解释器的REPL终端。 然后,在REPL中,您可以一次输入和运行一行代码。

配置并运行调试器

现在让我们尝试调试我们的简单Hello World程序。

首先,通过将光标放在print调用上并按F9 ,在hello.py的第2行设置断点。 或者,只需点击编号左边的排水沟旁边的排水沟即可。 排水沟中出现一个红色圆圈。

VS Code中的Python入门

接下来,选择侧栏中的Debug View:

VS Code中的Python入门

然后选择调试工具栏上的设置图标(或使用Debug > Open configurations菜单命令):

VS Code中的Python入门

片刻之后,该命令会创建一个launch.json文件,其中包含许多配置,这些配置显示在配置下拉列表中:

VS Code中的Python入门

注意 :VS Code将JSON文件用于其所有各种配置; launch.json是包含调试配置的文件的标准名称。

调试配置中详细说明了这些不同的配置 ; 现在,只需选择Python:当前文件(Integrated Terminal) ,这是使用当前选择的Python解释器运行编辑器中显示的当前文件的配置。

要在程序启动时自动停止第一行的调试器,请在"stopOnEntry": true中为“Python:Current File”配置添加"stopOnEntry": true设置,以便整个配置如下所示:

 { " name ": "Python: Current File (Integrated Terminal)" , " type ": "python" , " request ": "launch" , " program ": "${file}" , " console ": "integratedTerminal" , " stopOnEntry ": true }, 

提示:如果需要指定包含要用于调试的解释器的确切文件夹, pythonPath在配置中包含pythonPath的条目,例如"pythonPath": "${workspaceFolder}""pythonPath": "${workspaceFolder}/.venv" 。

保存launch.json ,在编辑器中切换到hello.py ,然后通过选择Debug工具栏中的绿色箭头或按F5运行调试器。 由于stopOnEntry设置为true,因此调试器会在文件的第一行停止。 当前行在左边距中用黄色箭头表示。 如果此时检查“ 局部变量”窗口,则会看到只定义了自动dunder变量:

VS Code中的Python入门

顶部显示一个调试工具栏,其中包含从左到右的以下命令:继续( F5 ),跳过( F10 ),步入( F11),退出( Shift+F11 ),重启( Ctrl+Shift+F5 ),然后停止( Shift+F5 )。

VS Code中的Python入门

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

要继续运行程序,请在调试工具栏上选择继续命令( F5 )。 调试器将程序运行到下一个断点。 现在定义的msg变量显示在“ 本地”窗格中

VS Code中的Python入门

您还可以在调试控制台中使用变量(如果您没有看到它,请在VS Code的右下方区域选择Debug Console,或从...菜单中选择它。)然后尝试输入以下行,一个一,在控制台底部的>提示符下:

 msg msg.capitalize() msg.split() 

VS Code中的Python入门

再次选择绿色箭头以运行程序完成。 如果切换回它,则“ Python Hello Console ”中会出现“Hello World”,一旦程序完成,VS Code将退出调试模式。

如果重新启动调试器,请记住在配置中设置stopOnEntry ,以便在运行任何代码之前调试器停止。 要一直运行到第一个断点,请从配置中删除该条目。

要在程序完成之前停止运行程序,请使用调试工具栏上的红色方块停止按钮( Shift+F5 ),或使用Debug> Stop debugging菜单命令。

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

提示:使用Logpoints而不是print语句 :开发人员经常使用print语句丢弃源代码,以快速检查变量,而无需逐步调试调试器中的每行代码。 在VS Code中,您可以改为使用Logpoints 。 Logpoint就像一个断点,除了它将消息记录到控制台并且不会停止程序。 有关更多信息,请参阅主VS Code调试文章中的Logpoints 。

故障排除

如果由于某种原因VS Code不为您生成launch.json ,请在项目文件夹中创建.vscode/launch.json文件(如果需要,创建.vscode文件夹),然后将以下内容粘贴到launch.json :

 { " version ": "0.2.0" , " configurations ": [ { " name ": "Python: Current File (Integrated Terminal)" , " type ": "python" , " request ": "launch" , " program ": "${file}" , " console ": "integratedTerminal" }, ] } 

如果你看到如下所示的“SyntaxError:invalid syntax”,你试图在launch.json当前在编辑器中显示时启动调试器,这不是像hello.py这样的Python代码:

  // Use IntelliSense to learn about possible attributes. ^ SyntaxError: invalid syntax 

选择hello.py然后重试。 或者,通过在configuration数组中的launch.json添加以下行,专门为hello.py文件创建调试配置。 然后在调试器下拉列表中选择此配置并再次启动调试器。

  { " name ": "Python: hello.py" , " type ": "python" , " request ": "launch" , " program ": "${workspaceFolder}/hello.py" , " console ": "integratedTerminal" }, 

安装和使用包

现在让我们举一个更有趣的例子。 在Python中,包是通过PyPI获取任意数量的有用代码库的方式。 对于此示例,您可以使用matplotlibnumpy包来创建与数据科学相同的图形绘图。 (请注意,matplotlib在Windows子系统Linux中运行时无法显示图形,因为它缺少必要的UI支持。)

返回Explorer视图(左侧最顶部的图标,显示文件),创建一个名为standardplot.py的新文件,并粘贴以下源代码:

 import matplotlib.pyplot as plt import matplotlib as mpl 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 

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

接下来,尝试使用“Python:当前文件”配置在调试器中运行该文件,如上一节中所述。 (如果仍然有"stopOnEntry": true在该配置中为"stopOnEntry": true ,则需要再次选择run命令才能继续。)

除非您使用Anaconda发行版或之前已安装matplotlib包,否则您应该看到消息“ModuleNotFoundError:No module named'matplotlib'”。 此类消息表明您的系统中没有所需的软件包。

要安装matplotlib软件包(它还将numpy安装为依赖项),请停止调试器并从命令选项板运行终端:创建新的集成终端 ( Ctrl+Shift+` ))。 此命令将打开所选解释器的命令提示符。 然后根据您的操作系统输入以下命令(如果Python解释器安装在文件系统的受保护区域,则命令可能需要提升):

注意 :如果您无法安装软件包或遇到其他问题,请在GitHub上提出问题,以便我们帮助您进行调查。

 # Don't use with Anaconda distributions because they include matplotlib already. # macOS sudo python3 -m pip install matplotlib # Windows (may require elevation) py - 3 -m pip install matplotlib # Linux (Debian) sudo apt-get install python3-tk python -m pip install matplotlib 

现在重新运行程序(带或不带调试器),片刻之后会出现一个带有输出的绘图窗口:

VS Code中的Python入门