jupyter notebook 进阶使用:nbextensions

nbextensions 是jupyter notebook 的一个扩展,可以有很多有用的功能

1 安装&配置nbextensions

在我们配置nbextensions之前,jupyter notebook的界面是这样的:

我们在命令行输入以下命令,即可安装并配置nbextensions

1.1 安装nbextensions

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user

1.2 安装nbextensions_configurator

pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user

安装配置完成后,我们重新启动jupyter notebook,界面变成了:

多出来的一栏就是我们新配置的nbextensions

2 nbextensions主要扩展

点开nbextensions ,里面是所有我们可以添加的扩展

 下面将列举一些较为有用的扩展

2to3 Converter

将一个框内的python2 代码转换成python3代码,设置了之后,会出现一个这样的图标:

 如果一个框格内本来是python2的代码

点击了图标之后,代码会变成

 

AddBefore

在原始的jupyter notebook中,我们只能向框格后面添加新的框格。设置了这个之后,我们可以在指定框格之前添加新的框格了

这一图图标分别表示了向前和向后添加框格

AutoSaveTime

设置自动保存代码的间隔,设置了之后,会出现这个图标

Autopep8

首先用 pip install autopep8  安装包

然后设置了这一选项之后,就可以对单元格里面的代码自动排版了

比如原来是这样的一串代码:

设置了这一选项后,也会出现一个图标

 

*注意和2to3conveter的区分一下 

点击图标之后,会出现:

Code Font Size

设置代码字体大小,设置了之后,会出现这样的图标:

Codefolding

设置了之后,可以折叠代码

Code prettify

按照PEP8 Python编码规范美化代码

 

Code Font Size

代码块字体放大缩小

Collapsible Headings

设置了之后,标题内的部分可以折叠

datestamper

设置了之后,会出现这样的一个图标

点击该图标,会将当前时间复制到框格中

ExecuteTime

设置之后,每执行一个框格的内容,都会显示执行的时间

Exercise

设置之后。将第一个框格设置为问题,之后的设置为答案,答案可以被隐藏

设置之后,会出现这个图标

选中多个框格(长摁shift+点击代码段灰色的部分

 

然后点击该图标

比如这两个图标,我们同时选中这两个,然后点击exercise图标

效果为:

点开之后,有:

Exercise2

和Exercise类似,不过比它美观一点(个人观感)

设置了之后,会出现这个图标 

 

也是选定多个框格,然后点击该图标,效果为:

highlighter

对于框格内的markdown内容,可以改变背景颜色

设置了之后,会出现这样的图标

比如对于这样的markdown

选中高亮之后,可以是: 

 

Highlight selected word

高亮选中的字符

 

Hinterland

代码补全

Limit Output

限制每个框格输出的字符个数

nbTranslate

对markdown的部分进行翻译

设置之后,会出现这两个图标

点击右边的设置可以设置源语言和目标语言

 

我这里是英语翻译成简体汉语

设置完之后,点击左边的图标,即可进行翻译

原来的markdown 

 翻译之后的markdown

Notify

当notebook内核空闲的时候,会在浏览器处发一个通知

Rubberband

更方便地选中各个框格

shift+鼠标左键:选中目前框起来的框格

ctrl+shif+鼠标左键:选中所有框起来过的框格

Runtools

更多地执行python程序的方法(如执行某框格以上/下的代码,执行标记的框格的代码,锁定标记的代码,等等)

Scratchpad

  • 在Jupyter笔记本中添加一个草稿本单元格。
  • 这是一个单元格,可以在这个kernel中执行代码,而不会修改源notebook文档。

使用Ctrl+B开/关 草稿本单元格

原先的notebook界面

 ctrl+B 之后,出现的草稿本

 注:草稿本单元格中做的修改会影响到主notebook中相应的内容

Snippets

将一部分代码段包装成一个模组,之后再jupyter中可以反复使用

设置了之后,会出现一个这样的图标

一开始只有example一个选项 ,选中之后,在框格中会出现

# This is an example snippet!
# To create your own, add a new snippet block to the
# snippets.json file in your jupyter nbextensions directory:
# /nbextensions/snippets/snippets.json
import this

这样一段代码。

我们如果需要自己添加模块的话,需要在上面所说的路径中修改这个json文件

(默认路径:C:\Users\账户名\AppData\Roaming\jupyter\nbextensions\snippets)

一开始的json文件中的内容如下:

我们添加一个模块:

重启当前notebook(刷新就好了),可以看到在snippets里面就有了np+pd这个模块 

点击它,狂框格里面就有如下代码了: 

Spellchecker

设置了之后,会检查markdown的拼写是否正确(不会检查语法)

Table of Contents (2)

添加左侧目录

设置了之后,会出现这样的图标

点击之后,会出现目录

Toggle all line numbers

显示代码行号

Variable Inspector

检查当前每个参数的属性

设置之后,会出现以下图标

点击之后,会出现一个显示各个参数属性的表格

3 修改颜色主题

首先安装包: pip install jupyterthemes

命令行选项举例:

jt -h查看帮助
jt -l

查看主题列表

-T工具栏是否可见
-fs代码字号(默认11)
-nfsnotebook字号(默认13)
-ofs输出内容字号(默认8.5)
-cellw单元格宽(默认980)
-lineh单元格行高(默认170)
-r恢复默认主题

3.1 颜色主题列举

jt -t 加后续主题名称 (注:有可能改完主题之后,工具栏不见了,方法是命令行的语句改成 "jt -t 主题名称 -N -T“)

3.1.1 chesterish

3.1.2 grade3

 

 3.1.3 gruvboxd

 3.1.4 gruvboxl

 

 3.1.5 monokai

 3.1.6 oceans16

3.1.7 onedork

3.1.8 solarizedd

3.1.9  solarizedl

 4 让一个单元格有多个输出

正常情况下, 一个单元格只显示一个输出结果

 在notebook的开头执行这样的代码,就可以显示多个输出结果了

from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity = "all"

 

  • 55
    点赞
  • 203
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UQI-LIUWJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值