VS Code中的Python入门
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获取任意数量的有用代码库的方式。 对于此示例,您可以使用matplotlib
和numpy
包来创建与数据科学相同的图形绘图。 (请注意,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入门相关推荐
- 微软 python_微软推出 Pylance,改善 VS Code 中的 Python 体验
微软宣布推出一种新的 Python 语言服务器,名为 Pylance,其可利用语言服务器协议与 VS Code 进行通信.Pylance 这个名字是对 Monty Python 的 Lancelot ...
- 微软推出 Pylance,改善 VS Code 中的 Python 体验
源自:编程派 微软宣布推出一种新的 Python 语言服务器,名为 Pylance,其可利用语言服务器协议与 VS Code 进行通信.Pylance 这个名字是对 Monty Python 的 La ...
- vscode配置python2和python3_VS Code中配置python版本以及Python多版本
VS Code中配置python版本 VS Code十分方便配置python的版本: 可以选在在本地setting.json或者全局setting.json文件中配置: python.pythonPa ...
- 在Visual Studio Code 中配置Python 中文乱码问题
在Visual Studio Code 中配置Python 中文乱码问题 方法一:直接代码修改字符集 添加前四行代码 import io import sys #改变标准输出的默认编码 sys.std ...
- ArcGIS Pro 中的 Python 入门
,欢迎也在微信公众号查看. Python脚本使ArcGIS Pro中的工作流自动化成为可能.ArcGIS pro中采用的是Python3.在本例中,将首先介绍Python 语法的一些基础知识,然后编写 ...
- 在Visual Studio Code中配置python环境
0. 前期配置 安装python(建议直接安装在系统目录下并勾选'ADD TO PATH',避免不必要的麻烦) 安装Visual Studio Code(官网速度时快时慢,建议随缘下载,或者用可靠的梯 ...
- 在visual studio code中配置python以及解决中文乱码问题
安装好 visual stuido code (下面简称 " VSC ")后,要想使用它运行调试 python 代码还需要做一些工作以解决下列问题: 搭建 python 环境 pr ...
- python项目开发案例集锦_在线分享 | 在 VS Code 中一站式完成 Python 项目开发
往期活动回顾 VS Code 中文社区自成立以来,已经举办了4场活动: Workshop | First Step to VS Code 基础篇 Workshop | First Step to VS ...
- 微软拆分 VS Code 中 Python 扩展,部分功能可独立下载
整理 | 苏宓 出品 | CSDN(ID:CSDNnews) 近日,微软正式发布适用于 Visual Studio Code 的 Python 扩展 2022 年 4 月版本.VS Code 团队表示 ...
最新文章
- ubuntu查看python版本-Ubuntu18.04下python版本完美切换的解决方法
- ffmpeg时间基种类及转换
- kill掉多个进程linux中的sudo,linux下批量kill进程的方法
- [LeetCode]Merge Intervals
- 源端RAC数据库删除实例操作时GoldenGate的运维流程
- python 实现装饰器设计模式
- Controller中请求数据的方式
- 复旦大学邱锡鹏教授《神经网络与深度学习》最新版!
- 大数据处理与分析方向主要干什么_不了解干法制砂?6个影响干法制砂效果的主要因素及干法制砂生产加工7大技术要点分析...
- Ownership and Permissions
- Linux中yum不能用的原因
- 进程同步与互斥:POSIX有名信号量
- HBase权威指南(百度云免费下载)
- 怎么看rx580是不是470刷的_AMD RX470/570强刷RX580完整图文教程(附文件下载及查BIOS攻略)...
- python正则表达式的学习
- python网易云爬虫网络技术的意义_Python3爬虫实战之网易云音乐
- 打印机服务器ip修改,打印机服务器ip设置
- 亚马逊测评提升销量有什么好办法,分享6点技巧
- 王者荣耀服务器怎么修改,王者荣耀常用英雄自定义攻略怎么设置 自定义攻略设置方法介绍...
- ArcEngine实现色带下拉框
热门文章
- 基于社区发现算法对CWE的划分实践
- c语言浮点数用16进制表示方法,浮点数用十六进制表示方式附C代码
- 桥牌发牌器(大坑:dict.fromkeys())
- 损失函数——负对数似然
- 报错 :DeprecationWarning: Mongoose: `findOneAndUpdate()` and `findOneAndDelete()` without the `useFind
- uniapp 雷达图
- RRC idle 和RRC connect
- 【渝粤教育】电大中专药事管理与法规_1作业 题库
- 关注微信公众号二维码可以带参数吗?
- 纸牌屋第一季(2)--part1