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环境。

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

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

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

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

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

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

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

 msg = "Hello World" print(msg) 

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

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

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

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

运行Hello World

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

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

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

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

配置并运行调试器

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

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

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

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

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

注意 :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变量:

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

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

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

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

 msg msg.capitalize() msg.split() 

再次选择绿色箭头以运行程序完成。 如果切换回它,则“ 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入门相关推荐

  1. 微软 python_微软推出 Pylance,改善 VS Code 中的 Python 体验

    微软宣布推出一种新的 Python 语言服务器,名为 Pylance,其可利用语言服务器协议与 VS Code 进行通信.Pylance 这个名字是对 Monty Python 的 Lancelot ...

  2. 微软推出 Pylance,改善 VS Code 中的 Python 体验

    源自:编程派 微软宣布推出一种新的 Python 语言服务器,名为 Pylance,其可利用语言服务器协议与 VS Code 进行通信.Pylance 这个名字是对 Monty Python 的 La ...

  3. vscode配置python2和python3_VS Code中配置python版本以及Python多版本

    VS Code中配置python版本 VS Code十分方便配置python的版本: 可以选在在本地setting.json或者全局setting.json文件中配置: python.pythonPa ...

  4. 在Visual Studio Code 中配置Python 中文乱码问题

    在Visual Studio Code 中配置Python 中文乱码问题 方法一:直接代码修改字符集 添加前四行代码 import io import sys #改变标准输出的默认编码 sys.std ...

  5. ArcGIS Pro 中的 Python 入门

    ,欢迎也在微信公众号查看. Python脚本使ArcGIS Pro中的工作流自动化成为可能.ArcGIS pro中采用的是Python3.在本例中,将首先介绍Python 语法的一些基础知识,然后编写 ...

  6. 在Visual Studio Code中配置python环境

    0. 前期配置 安装python(建议直接安装在系统目录下并勾选'ADD TO PATH',避免不必要的麻烦) 安装Visual Studio Code(官网速度时快时慢,建议随缘下载,或者用可靠的梯 ...

  7. 在visual studio code中配置python以及解决中文乱码问题

    安装好 visual stuido code (下面简称 " VSC ")后,要想使用它运行调试 python 代码还需要做一些工作以解决下列问题: 搭建 python 环境 pr ...

  8. python项目开发案例集锦_在线分享 | 在 VS Code 中一站式完成 Python 项目开发

    往期活动回顾 VS Code 中文社区自成立以来,已经举办了4场活动: Workshop | First Step to VS Code 基础篇 Workshop | First Step to VS ...

  9. 微软拆分 VS Code 中 Python 扩展,部分功能可独立下载

    整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 近日,微软正式发布适用于 Visual Studio Code 的 Python 扩展 2022 年 4 月版本.VS Code 团队表示 ...

最新文章

  1. ubuntu查看python版本-Ubuntu18.04下python版本完美切换的解决方法
  2. ffmpeg时间基种类及转换
  3. kill掉多个进程linux中的sudo,linux下批量kill进程的方法
  4. [LeetCode]Merge Intervals
  5. 源端RAC数据库删除实例操作时GoldenGate的运维流程
  6. python 实现装饰器设计模式
  7. Controller中请求数据的方式
  8. 复旦大学邱锡鹏教授《神经网络与深度学习》最新版!
  9. 大数据处理与分析方向主要干什么_不了解干法制砂?6个影响干法制砂效果的主要因素及干法制砂生产加工7大技术要点分析...
  10. Ownership and Permissions
  11. Linux中yum不能用的原因
  12. 进程同步与互斥:POSIX有名信号量
  13. HBase权威指南(百度云免费下载)
  14. 怎么看rx580是不是470刷的_AMD RX470/570强刷RX580完整图文教程(附文件下载及查BIOS攻略)...
  15. python正则表达式的学习
  16. python网易云爬虫网络技术的意义_Python3爬虫实战之网易云音乐
  17. 打印机服务器ip修改,打印机服务器ip设置
  18. 亚马逊测评提升销量有什么好办法,分享6点技巧
  19. 王者荣耀服务器怎么修改,王者荣耀常用英雄自定义攻略怎么设置 自定义攻略设置方法介绍...
  20. ArcEngine实现色带下拉框

热门文章

  1. 基于社区发现算法对CWE的划分实践
  2. c语言浮点数用16进制表示方法,浮点数用十六进制表示方式附C代码
  3. 桥牌发牌器(大坑:dict.fromkeys())
  4. 损失函数——负对数似然
  5. 报错 :DeprecationWarning: Mongoose: `findOneAndUpdate()` and `findOneAndDelete()` without the `useFind
  6. uniapp 雷达图
  7. RRC idle 和RRC connect
  8. 【渝粤教育】电大中专药事管理与法规_1作业 题库
  9. 关注微信公众号二维码可以带参数吗?
  10. 纸牌屋第一季(2)--part1