厉害了!Python编辑器界的神器 Jupyter ,推出官方可视化 Debug 工具!

Jupyter如何开启Debug调试功能 断点调试是非常重要的功能,非常有助于解决开发中遇到的各种问题,掌握Debug技术,是每个程序员的基本功要求。由于需要对算子做远程调试功能,需要在jupyter中开启远程断点调试功能,特此记录。本文写作时用到的系统是Ubuntu22,Python的版本是3.8.如果要终止调试模式,再次点击右上角那个debug按钮即可。我本机安装的版本是:jupyter==1.0.0。以上就是对Jupyter断点调试的基本研究了。希望本文对大家有帮助。 阅读详情

以后 Jupyter 也能做可视化 Debug,Jupyter 团队发布第一个 Debug 插件与内核。

Python 代码编辑器怎么选?PyCharm、VS Code、Jupyter Notebook 都各有特色,Jupyter 适合做数据分析这些需要可视化的操作,PyCharm 更适合做完整的 Python 项目。然而,因为交互式操作,很少会有开发者想到用 Jupyter 做 Debug。

尽管很多读者可能认为 Jupyter 用来做展示和小型试验就足够了,Debug 并没有太大的需求,但弥补上 Jupyter 缺失的一环,能让它更好用,未来 Debug 也会作为默认模式。

为什么 Jupyter 需要 Debug?

Jupyter 这种工具虽然有很好的交互性能,但其也明白,对于大型代码库,最好还是用传统的 IDE 比较靠谱。因此为了弥补这一缺陷,Jupyter 项目在过去几年也希望通过 JupyterLab 来加强对大型代码库的处理过程。

然而,JupyterLab 还是有一大缺陷,它不能通过可视化的方式进行 Debug,这限制了进一步的调试。这几天,Jupyter 团队表示,经过几个月的开发,他们很高兴能第一次发布 Jupyter 可视化 Debugger。

虽然这只是第一版,但目前已经可以设置常见的断点 Debug,查看各种变量、执行模块等信息。

新工具的用法也很简单,很常见的 Debug 方式差不多。如果读者想要安装这个新工具,那么首先你需要为 JupyterLab 装前端插件:

jupyter labextension install @jupyterlab/debugger

至于后端 Kernel,Jupyter 团队表示目前 kernel 需要实现 Jupyter Debug Protocol,因此暂时只能用 xeus-python :

conda install xeus-python -c conda-forge

只要装好前端与后端,我们就可以直接使用了。开发者还提供了 Debug 的线上体验版,不需要安装任何东西就能体验。

在线 Debug 环境:

https://hub.gke.mybinder.org/user/jupyterlab-debugger-hwxovlw4/lab/tree/examples/index.ipynb

Xeus-python:第一个支持 Jupyter Debug 的内核

Xeus 是 Jupyter kernel protocol 的 C++实现,它本身并不是一个内核,而是能帮助构建内核的库。当开发者希望构建 Python、Lua 等拥有 C、C++ API 的语言内核时,它非常有用。

目前已经有一些内核使用 xeus 进行开发,Xeus-python 内核是我们做 Python 开发时可选的一个内核,它去年就已经有发布。Xeus-python 之所以被 Jupyter 团队选为第一个实现 Debug 的内核,主要是它有以下两大优势:

  • Xeus-python 具有可插拔的并发模型,它允许在不同的线程中运行 Control channel 的处理过程;

  • Xeus-python 有非常轻量级的代码库,因此迭代与更新都非常方便。

短期内,xeus-python 还会有进一步提升的计划,例如添加 Ipython 魔术方法,优化 xeus-python 的 PyPI 等。

深入至 debugger 的前端架构

JupyterLab 的 debugger 扩展针对用户对 IDE 的使用习惯提供了通常性功能:

  • 带有资源管理器的侧边栏,无序列表,源预览以及允许导航至调用堆栈

  • 可直接在代码旁(即在代码单元以及代码控制台中)设置断点的功能

  • 可视化的标记,指示当前执行停止的位置

当使用 Jupyter 笔记本时,执行的状态保存在内核中。但是如果我们执行了一个 cell,然后又把整个 cell 删了,那么用户在 Dubug 的时候希望运行到那些代码又怎么办?

如下动图所示,该插件支持特定用例,并能在只读模式下查看以前执行过的 cell。

进入已删除的单元格

在 JupterLab 中调试代码控制台

在 JupyterLab 中调试文件

可以在 notebook 级别上启用调试,用户可以在调试 notebook 的同时在另一个 notebook 上工作。

同时调试多个笔记本

可以使用树状查看器和表状查看器检查变量:

变量浏览器

JupyterLab 的 debugger 插件目标是与任何支持调试内核一并使用。通过 Debug Adapter Protocol,debugger 插件可以抽象出针对于特定语言的功能,并为用户提供匹配的调试界面。

并且团队计划在 2020 年对 debugger 的体验进行重大改进,例如在变量浏览器中支持丰富的渲染,在 UI 中支持条件断点。

VS Code 可视化 Debug 工具

Debug 是条漫漫长路,不久前机器之心也介绍过一款 VS Code 实时可视化 debug 工具,在此也可以作为参考。以一种更优雅、更简洁的 debug 方式帮用户找到代码问题所在是未来优化的方向之一,而之前所介绍这款可视化 debug 能够快速展示数据结构。

从效果层面上看此款工具更加惊艳,而且跟以往传统 debug 方式的展示形式完全不同,比如将断点设置为第 32 行定义双向链表,随后一行行运行代码就会在右图展现出对应的数据结构图。

同时也会根据数据结构以不同的方式展现,例如树形、表格、曲线和图等。

同时还内置了其他可自定义的可视化调节器,可以根据面对不同的处理对象,可选择更易于理解的可视化方式。比如图表可视化,Plotly 可视化,Tree 可视化,网格可视化,文本可视化等等。

Plotly 可视化

AST 可视化

不过这款 VS Code 的 debug 工具开发者正在探讨其对 Python 的支持,而对于 Python 的完美支持会使得该项目更加便捷且适用。

而对于 debug 来说,不管最终是采用的是 print()大法,或是善用 assert 语句,亦或是以直接设置断点,包括各种新推出的 debug 工具。单从辅助工具角度层面看,只要它能够提高工作效率,不管是哪款 debug 工具,找到适合你的那便是值得一试。

参考链接:

https://blog.jupyter.org/a-visual-debugger-for-jupyter-914e61716559

https://www.reddit.com/r/MachineLearning/comments/foum00/n_jupyter_visual_debugger/

【避坑排雷】Jupyter 可视化调试—— JupyterLab 最新版本 debug 个人实践 可叹互联网之大,却难让初学 jupyterlab 的笔者找到一篇关于利用 jupyterlab 进行可视化调试的正确的中文入门教程,故作此文,附上个人成功实践,以供后来者参考。 阅读详情

相关推荐

推荐!神器 Jupyter 的可视化 Debug~

而对于 debug 来说,不管最终是采用的是 print() 大法,或是善用 assert 语句,亦或是以直接设置断点,包括各种新推出的 debug 工具。然而,JupyterLab 还是有一大缺陷,它不能通过可视化的方式进行 Debug,这限制了进一步的调试。尽管很多读者可能认为 Jupyter 用来做展示和小型试验就足够了,Debug 并没有太大的需求,但弥补上 Jupyter 缺失的一环,能让它更好用,未来 Debug 也会作为默认模式。新工具的用法也很简单,很常见的 Debug 方式差不多。

qq_38220914的博客 1172

重磅!首款 Jupyter 官方可视化 Debug 工具发布

点击上方“编程派”,选择设为“设为星标”优质文章,第一时间送达!本转自:机器之心以后 Jupyter 也能做可视化 Debug,Jupyter 团队发布...

codingpy的博客 4010

TLSR8258蓝牙Mesh实战:从SDK下载到自定义通信指令全流程(附避坑指南)

本文详细介绍了TLSR8258蓝牙Mesh开发的完整流程,从SDK下载、环境搭建到自定义通信指令的实现。通过实战案例和避坑指南,帮助开发者快速掌握低功耗蓝牙Mesh网络构建技巧,适用于智能家居、工业监控等物联网场景。

weixin_29176179的博客 203

jupyter能debug了,使用vscode的jupyter插件进行debug

前言 vscode的1.58版本发布了一项新功能,支持jupyter的debug了。个人感觉在vscode上使用jupyter非常的舒服,jupyter本身是一个网页版的应用,每次启用是都得打开一个网页,但是在vscode上,直接创建一个.ipynb后缀的文件就可以了,启动也非常迅速。 下面将阐述如何在vscode的jupyter上进行debug。 最近vscode更新的1.58版本支持在jupyter上进行debug,其官方文档介绍如下: 简单来说就是把"jupyter.experimental.deb

weixin_40603846的博客 1万+

别再用RIDE了!VSCode+RobotFramework插件打造现代化测试开发环境

本文介绍了如何利用VSCode和RobotFramework插件构建现代化的测试开发环境,替代老旧的RIDE工具。详细讲解了环境配置、插件安装、智能代码补全、测试运行与调试等核心功能,帮助开发者提升自动化测试效率。文章还提供了高级技巧、最佳实践和常见问题解决方案,助力团队实现平滑迁移。

weixin_28829629的博客 480

Multisim14.3中FPGA接口电路设计:原理图项目应用

深入讲解在multisim14.3环境下构建FPGA接口电路的方法,结合原理图设计与项目实践,展现multisim14.3强大的电路仿真能力,提升数字系统开发效率。

weixin_42578963的博客 1158

jupyter Debug 方案

Jupyter 如何Debug

优快云_now的博客 1685

STM32 HAL库下DHT22高精度温湿度采集与30秒定时实现

单总线传感器(如DHT22)是嵌入式环境监测系统的核心数据源,其通信依赖微秒级精确时序控制。在STM32平台中,需结合硬件定时器(如TIM2)构建稳定周期触发机制,并通过GPIO+精确延时(非HAL_Delay)完成协议解析。该方案突破整数读取局限,完整还原带一位小数的温度与湿度值,显著提升工业级数据精度。典型应用于物联网终端、智能农业节点及边缘侧环境监控系统,为MQTT/CoAP等协议上报提供结构化原始数据支撑。本实践基于STM32F103与HAL库,不依赖第三方驱动,具备强可移植性与工程鲁棒性。

weixin_42453228的博客 515

厉害了!Python 编辑器界的神器 Jupyter ,推出官方可视化 Debug 工具!

公众号关注“GitHubDaily”设为 “星标”,每天带你逛 GitHub!转自机器之心Python 代码编辑器怎么选?PyCharm、VS Code、Jupyter Notebo...

GitHubDaily 520

c语言:读取文件中的指定内容

项目中要求从wifi的状态文件中提取出rssi字段的值,还有一个前提条件:必须与hwaddr(手机的MAC地址)一一对应。 wifi状态文件sta_info如下: # cat /proc/wlan0-vap0/sta_info -- STA info table -- (active: 1) 1: stat_info... state: 405 AuthAlgrthm: 0

u013485792的专栏 1万+

从开通VPS到搭建宝塔面板全教程

你在输入域名(此时我们可能没有类似aaa.com这样的域名,所以要输入VPS的IP地址)的时候,下面的根目录也会跟着变动,等输入完成后,你可以把根目录再改回成/www/wwwroot/dq。这时,在你的浏览器中,输入外网面板地址的URL,输入username和password,即可登陆宝塔面板。第一次登陆,需要绑定你的宝塔账号,你可以到宝塔的注册界面,用手机注册一个,然后绑定,首先看一下你的VPS操作系统是什么类型的(其实你在选择VPS的时候,就已经选定了,我选择的事Centos系统)。

kxltsuperr的专栏 3738

debug工具_厉害了!Python编辑器界的神器 Jupyter ,推出官方可视化 Debug 工具!

机器之心报道机器之心编辑部以后 Jupyter 也能做可视化 Debug,Jupyter 团队发布第一个 Debug 插件与内核。Python 代码编辑器怎么选?PyCharm、VS Code、Jupyter Notebook 都各有特色,Jupyter 适合做数据分析这些需要可视化的操作,PyCharm 更适合做完整的 Python 项目。然而,因为交互式操作,很少会有开发者想到用 J...

weixin_39613561的博客 82

SAP物料主数据归档详解(物理删除)

顾问们的回答肯定的统一的不能,只能打上删除标记。物料设置好需要删除的物料号这里我们需要删除的物料是AG88,其中,若不选“考虑无删除标记的物料”,需要将需要归档的物料MM06打删除标记。平时在操作系统过程中经常会不小心创建出很多无用的物料主数据,但是系统只能通过MM06打上删除标记,但是物料最终在系统中还是可以查询到的。6、执行已设置变式的归档程序,执行完毕,点下图中的“Job”,每次执行完归档程序会产生两条作业。然后设置好开始的参数和假脱机的参数,三个都是绿灯就可以执行归档的操作,物理上删除物料主数据。

我小时候很黑的博客 5527

python编辑器jupyter_厉害了!Python编辑器界的神器 Jupyter ,推出官方可视化 Debug 工具!...

本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载机器之心整理以后 Jupyter 也能做可视化 Debug,Jupyter 团队发布第一个 Debug 插件与内核。Python 代码编辑器怎么选?PyCharm、VS Code、Jupyter Notebook 都各有特色,Jupyter 适合做数据分析这些需要可视化的操作,PyCharm 更适合做完整的 Pyth...

weixin_39701288的博客 98

复数值神经网络可能是深度学习的未来

复数这种东西,在人的头脑中似乎抽象、似乎复杂,然而,对于计算机来说,一点也不抽象,不复杂,那么,将复数概念推广到神经网络会是什么结果呢?本篇介绍国外的一些同行的尝试实践,请我们注意观察他们的进展。

gongdiwudu的专栏 6620

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

太赞了!Python 开发神器Jupyter竟然还有可视化debug功能!

而对于 debug 来说,不管最终是采用的是 print() 大法,或是善用 assert 语句,亦或是以直接设置断点,包括各种新推出的 debug 工具。然而,JupyterLab 还是有一大缺陷,它不能通过可视化的方式进行 Debug,这限制了进一步的调试。尽管很多读者可能认为 Jupyter 用来做展示和小型试验就足够了,Debug 并没有太大的需求,但弥补上 Jupyter 缺失的一环,能让它更好用,未来 Debug 也会作为默认模式。新工具的用法也很简单,很常见的 Debug 方式差不多。

2401_86168842的博客 1242

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Jupyter官方神器:可视化 Debug 工具!

以后 Jupyter 也能做可视化 Debug,Jupyter 团队发布第一个 Debug 插件与内核。Python 代码编辑器怎么选?PyCharm、VS Code、Jupyter N...

Datawhale 2559

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

真心有用!神器 Jupyter 的可视化 Debug!

而对于 debug 来说,不管最终是采用的是 print() 大法,或是善用 assert 语句,亦或是以直接设置断点,包括各种新推出的 debug 工具。尽管很多读者可能认为 Jupyter 用来做展示和小型试验就足够了,Debug 并没有太大的需求,但弥补上 Jupyter 缺失的一环,能让它更好用,未来 Debug 也会作为默认模式。短期内,xeus-python 还会有进一步提升的计划,例如添加 Ipython 魔术方法,优化 xeus-python 的 PyPI 等。

2401_86168842的博客 1174

神器 Jupyter 的可视化 Debug!

来源丨数据STUDIOPython 代码编辑器怎么选?PyCharm、VS Code、Jupyter Notebook 都各有特色,Jupyter 适合做数据分析这些需要可视化的操作,PyCharm 更适合做完整的 Python 项目。然而,因为交互式操作,很少会有开发者想到用 Jupyter 做 Debug。尽管很多读者可能认为 Jupyter 用来做展示和小型试验就足...

lsxxx2011的专栏 2450

终于来了!Python 编辑神器 Jupyter ,推出首款官方可视化 Debug 工具!

转自:AI有道以后 Jupyter 也能做可视化 Debug,Jupyter 团队发布第一个 Debug 插件与内核。Python 代码编辑器怎么选?PyCharm、VS Code、J...

Python之禅的专栏 738

Python 编辑神器 Jupyter ,推出首款官方可视化 Debug 工具!

点击上方“逆锋起笔”,关注领取学习资源☞ 程序员进阶必备资源免费送「各种技术!」 ☜来源:机器之心以后 Jupyter 也能做可视化 Debug,Jupyter 团队发布第一个 Debu...

code小生 236
上一篇: Python爬取招聘网站数据,给学习、求职一点参考
下一篇: Python除了做爬虫抓数据还能做什么?其实还能监视和衡量网站性能
python588
博客等级 码龄7年 338粉丝 132原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值