jupyter中那些神奇的第三方拓展魔术命令
1 简介
无论是jupyter notebook
还是jupyter lab
,都可以使用ipython
中的众多自带魔术命令来实现丰富的辅助功能,诸如%time
之类的。
这些都已经是老生常谈的知识没什么好说的,但我们今天要给大家介绍的,则是一些实用的基于第三方拓展的魔术命令,从而极大程度上扩展jupyter
的功能。

2 jupyter中实用的第三方魔术命令拓展
在jupyter
中使用外部的拓展魔术命令,需要先像安装常规的Python
库一样用pip
等进行安装,再在使用前执行一次%load_ext 拓展名称
或者import 拓展名称
,之后在当前kernel
还保持活跃的情况下,就可以随意在单元格内使用对应的拓展魔术命令。
下面我们来介绍一些常用的第三方魔术命令拓展。
2.1 用magic_markdown玩转markdown#
虽然在jupyter
中单元格有自带的markdown
模式,但其功能比较有限,而利用magic_markdown
,我们可以实现更多惊人的功能。
使用pip install magic-markdown
完成安装之后,我们就可以使用魔术命令%%mmd
按照下面的格式实现在markdown
中嵌入Python
变量:

更多示例见https://github.com/transfluxus/magic_markdown
。
2.2 用ipython-sql执行sql查询#
使用pip install ipython-sql
完成安装后,我们可以直接在jupyter
单元格中完成数据库的连接及查询:

更多使用方法见https://pypi.org/project/ipython-sql/
。
2.3 用jupyter_spaces创建命名子空间#
使用pip install jupyter_spaces
安装完成后,我们就可以参考下图来创建和移除不同的命名子空间,这在调试代码时很受用:

更多使用方法见https://github.com/davidesarra/jupyter_spaces
。
2.4 用blackcellmagic实现代码美化#
通过pip install blackcellmagic
之后,我们可以按照下图的方式使用blackcellmagic
魔术命令,从而实现代码的格式化,且格式化时不会执行对应单元格内的代码,非常方便:

更多使用方法见https://github.com/csurfer/blackcellmagic
。
2.5 用watermark记录系统、版本等信息#
接下来要介绍的watermark
,我在之前的一期文章中也介绍过,可以帮助我们记录诸如系统硬件信息、导入的包的版本、时间戳等信息,帮助我们日常管理程序。
同样利用pip install watermark
进行安装之后,我们就可以利用%watermark
命令记录下很多信息:

更多使用方法见https://github.com/rasbt/watermark/blob/master/docs/watermark.ipynb
。
2.6 用heat对代码执行耗时分布进行可视化#
通过pip install py-heat-magic
之后,我们可以使用%%heat
魔术命令对单元格内代码的执行耗时分布进行热图可视化,更加直观地找到性能待提升的代码块,就像下图示例那样:

以上就是本文的全部内容,欢迎在评论区发表你的感想与见解。
作者:Feffery
出处:https://www.cnblogs.com/feffery/p/14745980.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· Open-Sora 2.0 重磅开源!