手把手教你使用 VS Code 运行和调试 Python 程序

news2024/11/27 22:25:46

本文以 Ubuntu 系统为例,介绍如何在 VS Code 上配置 Python 的编程环境,并把 Python 程序运行、调试起来。由于 Python 是解释型语言,并且 VS Code 中提供了内置的调试器可用于调试 Python 代码,因此配置和操作流程比调试 C/C++ 代码要简单一些。

准备工作

安装 Python 解释器

如果你的本地环境还没有 Python,需要先安装 Python 相关开发工具,可以参考 Python 安装指南 安装或升级 Python 解释器。如无特殊需求,建议安装当前最新的稳定版本。

安装 VS Code 插件

确保已经在 VS Code 中安装了 Python 扩展。你可以在 Extensions 视图中搜索 “Python” 并安装 Microsoft 提供的 Python 扩展。

下载示例代码

在 VS Code 中打开你的 Python 文件,或者使用我们这里提供的示例代码,本示例完整工程代码可在 GitHub 获取。

from datetime import datetime
import sys

class User:
    def __init__(self, name, email):
        self._name = name
        self._email = email

    def get_name(self):
        return self._name

    def get_email(self):
        return self._email
     
    def do_something_cool(self):
        current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        print (self._name + ", Welcome to GetIoT (" + current_time + ")")

    def __str__(self):
        return self._name + " , " + self._email

if __name__ == "__main__":
    print("Python Version:", sys.version)

    users = [ User("Rudy", "rudy@getiot.tech"), User("Tina", "tina@getiot.tech")]

    for user in users:
        user.do_something_cool()

配置调试器

由于 Python 是解释型语言,因此在 VS Code 中调试 Python 程序不需要 tasks.json 文件,只需要 launch.json 文件配置调试器即可。

但其实,launch.json 文件也不是必须的,如果你使用 VS Code 的默认配置,并且你的 Python 文件在当前工作区中,VS Code 可以在没有 launch.json 文件的情况下执行简单的 Python 调试。

  1. 选择 VS Code 左侧的调试图标,或者使用快捷键 Ctrl + Shift + D,打开 “Run and Debug” 视图。
  2. 在顶部选择 “Python” 作为环境。
  3. 如果你是第一次使用,VS Code 可能会提示你选择一个调试器。在这里,选择 “Python File” 即可。

创建 launch.json 文件

不过使用 launch.json 文件还是有很多好处的,它可以为调试器提供更多的配置选项,允许你定义自定义的调试配置,例如调试启动时的环境变量、工作目录、启动参数等内容。

创建 launch.json 文件的方法是在 “Run and Debug” 视图,点击 “创建 launch.json 文件”,然后选择一个调试配置模板,例如 “Python 文件”。

此时,launch.json 文件的内容如下。其中 "program" 字段可设置为你要调试的 Python 文件的路径。

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

运行调试

现在,可以开始调试你的 Python 程序了。选择 VS Code 左侧的调试图标,或者使用快捷键 Ctrl + Shift + D,打开 “Run and Debug” 视图。

在你想要设置断点的行上点击编辑器左侧的行号,或者直接按 F9 设置断点。断点将在调试时暂停执行,允许你逐步执行代码并查看变量的值。

点击编辑器顶部的绿色调试按钮(或按 F5)开始调试。VS Code 将运行你的 Python 文件,并在遇到断点时暂停执行。你可以使用调试器工具栏进行单步调试、查看变量、评估表达式等。

在终端窗口,可以看到 Python 程序的打印信息,如下:

Python Version: 3.12.1 (main, Dec 10 2023, 15:16:41) [GCC 9.4.0]
Rudy, Welcome to GetIoT (2024-01-20 15:37:55)
Tina, Welcome to GetIoT (2024-01-20 15:38:03)

设置虚拟环境

有时候,我们可能需要使用指定的 Python 环境,使用不同版本的 Python 解释器,下面介绍 Python 解释器的设置方法。

首先,按快捷键 Ctrl + Shift + P 打开执行命令的输入框,输入 “python select”,选择 “Python: 选择解析器”。

在这里,可以看到你的系统已安装的 Python 版本。如果有你想要的,直接选择即可。如果是 Python 虚拟环境,选择 “输入解释器路径…” 手动添加。

你可以通过浏览器文件系统查找的方式添加,选择你所需 Python 虚拟环境的解释器路径即可。

不过对于隐藏目录来说,这种方式不太方便。所以直接将路径复制、粘贴过去就可以了。

现在,按 F5 重新运行程序,可以看到 Python 的版本从原来的 3.12.1 变成了 3.8.10,说明配置已经生效了。

Python Version: 3.8.10 (default, Nov 22 2023, 10:22:35) [GCC 9.4.0]
Rudy, Welcome to GetIoT (2024-01-20 15:50:15)
Tina, Welcome to GetIoT (2024-01-20 15:50:23)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1399431.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【 Qt 快速上手】-①- Qt 背景介绍与发展前景

文章目录 1.1 什么是 Qt1.2 Qt 的发展史1.3 Qt 支持的平台1.4 Qt 版本1.5 Qt 的优点1.6 Qt的应用场景1.7 Qt的成功案例1.8 Qt的发展前景及就业分析行业发展方向就业方面的发展前景 1.1 什么是 Qt Qt 是一个跨平台的 C 图形用户界面应用程序框架。它为应用程序开发者提供了建立…

8 python快速上手

总结 总结1. 代码规范1.1 名称1.2 注释1.3 todo1.4 条件嵌套1.5 简单逻辑先处理1.6 循环1.7 变量和值 2.知识补充2.1 pass2.2 is 比较2.3 位运算 3.阶段总结 各位小伙伴想要博客相关资料的话关注公众号:chuanyeTry即可领取相关资料! 总结 1. 代码规范 …

线性规划案例分享

今天想写一个最优传输的简单实现,结果学歪了,学到线性规划去了,这里我发现了一个宝藏网站 虽然是讲计量经济的,但是里面提供的公式和代码我很喜欢,有时间可以好好读一下 https://python.quantecon.org/lp_intro.html …

Civil 3D安装教程,免费使用,带安装包和工具,一分钟轻松搞的安装

前言 Civil 3D是一款面向基础设施行业的建筑信息模型(BIM)解决方案。它为基础设施行业的各类技术人员提供了强大的设计、分析以及文档编制功能,广泛适用于勘察测绘、岩土工程、交通运输、水利水电、市政给排水、城市规划和总图设计等众多领域…

什么是比特币?

比特币 比特币 (英语:Bitcoin,缩写:BTC )是一种基于 去中心化,采用 点对点网络,开放源代码,以 区块链 作为底层技术的 加密货币。比特币由 中本聪(Satoshi Nakamoto&…

vscode配置web开发环境(WampServer)

这里直接去下载了集成的服务器组件wampserver,集成了php,MySQL,Apache 可能会出现安装问题,这里说只有图上这些VC包都安装了才能继续安装,进入报错里提供的链接 在页面内搜索相关信息 github上不去可以去镜像站 下载…

机器视觉技术与应用实战(平均、高斯、水平prewitt、垂直prewitt、水平Sobel、垂直Sobel、拉普拉斯算子、锐化、中值滤波)

扯一点题外话,这一个月经历了太多,接连感染了甲流、乙流,人都快烧没了,乙流最为严重,烧了一个星期的38-39度,咳嗽咳到虚脱。还是需要保护好身体,感觉身体扛不住几次连续发烧!&#x…

Redis 持久化之 RDB AOF

1、简介 Redis 是一个基于内存的 key-value 类型的 Nosql 数据库,经常用来做缓存操作,但是一旦Redis 宕机,重启之后数据会丢失,因此,需要将内存数据进行持久化,保证服务重启后数据能够恢复之前的状态。Redi…

淘金城镇新人赚钱攻略(定制开发·源码定制智创开发)

​ 在淘金城镇中,玩家可以通过完成任务、升级角色、参与活动等方式获得丰厚的奖励和经验值,这不仅可以提升角色的能力, 还可以让玩家在游戏中获得更多的乐趣。最重要的是,淘金城镇的玩法非常精致,玩家可以通过游戏中…

C++——vector的使用及其模拟实现

vector的使用及其模拟实现 文章目录 vector的使用及其模拟实现1. vector的使用1.1 构造函数construct1.2 获取当前存储的数据个数size()和最大容量capacity()1.3 访问1.3.1 operator[]运算符重载1.3.2 迭代器访问1.3.3 范围for 1.4 容量相关reserve()和resize()1.5 增&#xff…

软件测试的工作描述

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

【算法练习Day50】下一个更大元素II接雨水

​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 下一个更大元素II接雨水单调…

ESP32-CAM带摄像头的开发板使用-环境安装

首先是需要在开发板上搭建环境,其实就是将安装包给下载到开发板上,然后程序能在开发板上运行并控制开发板,这一下载过程也称为烧录。 首先我这里使用ESP32-CAM纯粹是因为便宜,所以买啦 哈哈哈 我买的是30多带摄像头的&#xff0c…

SpringMVC传递数据给前台

SpringMVC有三种方式将数据提供给前台 第一种 使用Request域 第二种 使用Model(数据默认是存放在Request域中) 与第一种方式其实是一致的 第三种 使用Map集合(数据默认是存放在Request域中)

虹科分享 | 汽车技术的未来:Netropy如何测试和确保汽车以太网的性能

文章速览: 什么是汽车以太网?汽车以太网的用途是什么?汽车以太网的测试要求是什么?流量生成如何帮助测试汽车以太网? 如今汽车不再是单纯的代步工具,把人从A点带到B点,同时还配备了车载信息娱乐…

深入数仓离线数据同步:问题分析与优化措施

一、前言 在数据仓库领域,离线数仓和实时数仓是常见的两种架构类型。离线数仓一般通过定时任务在特定时间点(通常是凌晨)将业务数据同步到数据仓库中。这种方式适用于对数据实时性要求不高,更侧重于历史数据分析和报告生成的场景…

大语言模型无代码构建知识图谱概述

2023年3月15日,ChatGPT4.0的横空出世,将人们对大语言模型的关注推到了风口浪尖。由于其在智能问答、翻译以及文本生成等工作任务上的卓越表现,业界一度出现了不再需要发展知识图谱相关技术的观点,知识图谱相关概念严重受挫。无可置…

web学习笔记(十六)

目录 HTML5新增标记汇总 1.新增语义化标签 2.新增音频和视频标签 2.1音频标签 audio 2.1视频标签 video 3.新增图像标签 4.新增表单元素和表单控件 5.新增应用程序标签(使用率较低) HTML5新增标记汇总 1.新增语义化标签 新增语义化标签能够便于…

HCIA-H12-811题目解析(12)

1、如图所示, 关于OSPF的拓扑和配置,下列说法中正确的是? 2、如图所示,私有网络中有一台web服务器需要向公网用户提供HTTP服务,因此网络管理员需要在网关路由器RTA上配置NAT以实现需求,则下面配置中能满足…

【OpenCV】OpenCV:计算机视觉的强大工具库

摘要   OpenCV是一个广泛应用于计算机视觉领域的开源工具库,为开发者提供了丰富的图像处理和计算机视觉算法。本文将介绍OpenCV的功能和应用领域,并探讨它在实践中的重要性和前景。 计算机视觉的强大工具库 一、什么是OpenCV?二、OpenCV的功…