前言:NBextensions 

       nbextensions 是 Jupyter 非常好的插件,它是将一系列 js 脚本嵌入到 Jupyter 中,增强 Jupyter 的交互式体验,可以让你的 Jupyter 变得非常强大。

关于Jupyter NBextensions 详解,点击链接详见小编上一篇文章:

https://blog.csdn.net/weixin_44015669/article/details/104974340 别找了!这里就是Jupyter Notebook最详指南:入门+安装+扩展!

一、 安装 nbextensions 插件

第1步:用 pip 来安装它

pip install jupyter_contrib_nbextensions

第2步:安装关联的 JavaScript 和 CSS 文件

jupyter contrib nbextension install --user

 完成此操作后,你会在 Jupyter Notebook 主页顶部看到一个 Nbextensions 选项卡,这里面有很多非常棒的扩展供你使用。

 要启用一个扩展,只需点击它来激活。

 二、nbextensions 插件

  • Code Prettify
  • Collapsible headings
  • Highlight selected word
  • Nofity
  • Ruler
  • Snippets Menu
  • table_beautifier
  • Codefolding
  • Execute Time
  • Hide Header
  • highlighter
  • Nbextensions dasnboard tab
  • Runtools
  • Toggle all line numbers
  • contrib_nbextensions_help_item
  • Freeze
  • Hide Input
  • Nbextensions edit menu item
  • Python Markdown
  • Scratchpad
  • Tree filter
  • datestamper
  • Hide input all
  • Scroll Down
  • Snippets
  • Table of Content
  • Variable Inspector

三、nbextensions常用插件

3.1 Code prettify

可以重新格式化和美化代码块的内容,十分好用。

3.2  Table of Contents (2)

可以收集Notebook 中的所有标题,并将它们显示在一个浮动窗口中。

在侧边栏加入TOC目录, 十分好用. 在按钮栏会有相应的一个图标来显示TOC。另外, TOC可以拖动, 折叠. 很好用。

3.3  Printview

可以添加了一个工具栏按钮来调用当前 Notebook 的 jupyter nbconvert,并可选择在新的浏览器标签中显示转换后的文件

3.4  Scratchpad

可以让你运行你的代码而不必修改你的 Notebook,非常方便的扩展。

3.5  Toggle all line numbers

可以加入状态栏按钮或者快捷键Option + N 来显示Cell里面的代码行编号,用途一般。

3.6 Collapsible Headings

可以根据Markdown的Headings 进行内容折叠, 这对于显示和管理后面的代码十分有用,可加入/插入Markdown标题的按钮, 很好用, 极度推荐! 

3.7  A 2to3 converter

可以转换python2代码到python3,对于经常使用Python2代码, 但要写Python3的同学很有用. 实际是调用标准库lib2to3模块。

安装后会有按钮栏的一个火箭图标, 按后就可以全部转化。而且可以使用快捷键:

  • Ctrl+M 键:可以转化当前的cell
  • Ctrl+Shift+M键: 可以转换整个notebook

3.8  AddBefore

可以在按钮栏加入两个按钮, 分别在当前cell前和后插入新Cell.,补充了只能在后面插入的缺点。

四、通过插入代码的插件

4.1 Jupyter-notify 网页通知提示插件

这个插件会在一个cell执行完成的时候,通过网页通知的方式告知用户这一完成的事件。当激活了这一插件之后,我们就可以不用时时盯着Jupyter Notebook的状态了。

要使用这个插件, 需要先安装pip install jupyternotify

%load_ext jupyternotify # 载入插件
%autonotify -a 30

上述代码会对所有执行超过30s的cells在运行结束后进行通知。

  • 如果只关注特定的cell,那么可以将%autonotify -a 30去掉,然后在对应的格子中加入%%notify
  • 如果想在Jupyter运行的时候自动加载该插件,在需要向Notebook的config文件中加入下列代码:
c.InteractiveShellApp.extensions = [
    'jupyternotify'
]

4.2  autoreload 重新导入模块

这个插件使用以后, 使用import时会重新加载模块, 不需要使用reload方法.

%load_ext autoreload
%autoreload

4.3  tqdm 循环进度

tqdm是一个python中对循环进程提供可视化支持的模块,目前该模块已经提供了对Jupyter的支持,我们可以通过下图体验一下可视化效果:

该插件可以安装pip install tpdm.

from tqdm import tnrange, tqdm_notebook
from time import sleep

## 原来的循环
for i in range(10):
    for j in tqdm_notebook(range(100), desc='2nd loop'):
        sleep(0.01)

## 使用tqdm显示进度的循环
for i in tnrange(10, desc='1st loop'):
    for j in tqdm_notebook(range(100), desc='2nd loop'):
        sleep(0.01)

总结:以上就是小编整理的Jupyter NBextensions 插件详细介绍,愿它能帮助到你,喜欢可以留言点赞,多多指教!!

 

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐