跳至内容
深圳市捷比信实业有限公司 · 产品选型与采购咨询联系业务人员
低温漂电阻捷比信 · 专业器件主题站

将来,Jupyter还可以进行视觉调试

将来,Jupyter也可以进行视觉调试。 Jupyter团队发布了第一个Debug插件和内核。如何选择Python代码编辑器? PyCharm,VSCode和Jupyter Notebook都有各自的特点。 Jupyter适合用于数据分析以及这些需要可视化的操作,而PyCharm更适合于完整的Python项目。但是,由于交互操作,很少有开发人员考虑使用Jupyter进行调试。尽管许多读者可能认为Jupyter足以进行演示和小型实验,并且Debug的需求不大,但是为了弥补Jupyter的不足,它可以使其更易于使用,并且Debug还将成为默认模式。将来。为什么Jupyter需要调试?尽管Jupyter具有良好的交互性能,但它也了解到,对于大型代码库,最好使用传统的IDE。因此,为了弥补这一缺陷,Jupyter项目还希望在过去的几年中使用JupyterLab来加强大型代码库的处理。但是,JupyterLab仍然有一个重大缺陷。无法对其进行目视调试,这限制了进一步的调试。在过去的几天中,Jupyter团队表示,经过几个月的开发,他们非常高兴首次发布Jupyter Visual Debugger。尽管这只是第一个版本,但是您现在可以设置公共断点Debug,查看各种变量,执行模块和其他信息。新工具的用法也非常简单,并且常见的Debug方法与此类似。如果读者想安装此新工具,则首先需要为JupyterLab安装前端插件:jupyterlabextensioninstall @ jupyterlab / debugger对于后端内核,Jupyter团队指出内核需要实现JupyterDebugProtocol,因此,目前只能使用xeus-python:condainstallxeus-python -cconda-forge只要安装了前端和后端,我们就可以直接使用它。开发人员还提供了在线体验版的Debug,无需安装任何软件即可体验。在线调试环境:https://hub.gke.mybinder.org/user/jupyterlab-debugger-hwxovlw4/lab/tree/examples/index.ipynbXeus-python:支持JupyterDebug的第一个内核Xeus是Jupyterkernelprotocol的C ++实现。它本身不是内核,而是可以帮助构建内核的库。当开发人员想要使用C和C ++ API(例如Python和Lua)构建语言核心时,此功能非常有用。已经有一些使用xeus开发的内核。当我们进行Python开发时,Xeus-python内核是可选内核。它于去年发布。 Jupyter团队选择Xeus-python作为第一个实现Debug的内核的原因主要是因为它具有以下两个主要优点:Xeus-python具有可插拔的并发模型,该模型允许以不同的方式运行Controlchannel的处理。线程。 ; Xeus-python具有非常轻巧的代码库,因此迭代和更新非常方便。在短期内,xeus-python将有进一步的改进计划,例如添加Ipython魔术方法,优化xeus-python的PyPI等。 JupyterLab的调试器扩展深入调试器的前端体系结构,为用户提供了通用功能。使用IDE的习惯:带有资源管理器的侧边栏,无序列表,源预览以及允许导航到调用堆栈的代码可以直接位于代码旁边(即在代码单元和代码控制台中)。断点是一个视觉标记,指示当前执行停止的位置。使用Jupyter笔记本时,执行状态保存在内核中。但是,如果我们执行一个单元格然后删除整个单元格,那么当Dubug出现时,用户应该对那些代码运行什么?如下面的动画所示,该插件支持特定的用例,并且可以以只读模式查看以前执行的单元。输入已删除的单元格。在JupyterLab中调试代码控制台。在JupyterLab中调试文件。您可以在笔记本级别启用调试。用户可以在调试笔记本时在另一个笔记本上工作。要同时调试多个笔记本,可以使用树查看器和表查看器检查变量:变量浏览器JupyterLab的调试器插件旨在与支持调试的任何内核一起使用。通过DebugAdapterProtocol,调试器插件可以抽象特定于语言的功能,并为用户提供匹配的调试接口。团队计划在2020年对调试器体验进行重大改进,例如在变量浏览器中支持丰富的呈现功能以及在UI中支持条件断点。 VSCode视觉调试工具Debug是很长的路要走。不久前,机器的心脏还引入了VSCode实时可视调试工具,该工具也可以在此处用作参考。它是其中之一