JUPYTER NOTEBOOK 中更换主题与折叠代码

得益于良好的交互性和简洁的界面, Deep Learning 或 Python 编程中经常使用 Jupyter Notebook 作为一个快速实现的环境。
Jupyter Notebook 的默认界面比较简朴,但其基于 Web 技术开发的特性让定制、修改界面变得不那么困难。
不过,直接操作如在 CSS 文件上修改,对不熟悉 web 开发的调包/调参侠们来说依然是个艰巨的任务。好在 Python 是个开放的社区,已经有人开发了一些应用,安装之后只需几条命令就可以实现上面的功能。下面就分别介绍两组插件:jupyterthemes 和 jupyter_contrib_nbextensions。

使用 JUPYTERTHEMES 定制界面

效果如图:

这里写图片描述

这里写图片描述

这里写图片描述

这些看起来非常酷炫的效果是 jupyterthemes 插件实现的:https://github.com/dunovank/jupyter-themes

安装插件需要:

  • Python 2.7, 3.4, 3.5, 3.6
  • Jupyter (Anaconda recommended)
  • matplotlib

安装非常简单:

# 安装 jupyterthemes
pip install jupyterthemes

# 升级到最新版本
pip install --upgrade jupyterthemes

安装完成后,jupyterthemes 以别名 jt 存在于 python 环境中。
有时页面 https://github.com/dunovank/jupyter-themes 上显示的主题可能已经不支持了,所以更换主题前首先

jt -l
  • 1

查看当前支持的主题。
比如我想换 grade3,那么输入

jt -t -grade3
  • 1

就把主题换掉了。不过默认字体都特别难看,所以需要指定字体。可以对照示例选择顺眼的字体:
https://github.com/dunovank/jupyter-themes#command-line-examples

其他的设置比较琐碎就不再赘述了,github 页面上给出了详细的说明。

代码折叠

Jupyter Notebook 另一个不太舒服的地方就是默认没有代码折叠功能。手动修改比较麻烦,所以也有人把功能集成到一部分插件里,可以直接在 notebook 界面上点击选项来设置。
插件安装和启用:

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install --user
pip install jupyter_nbextensions_configurator
jupyter nbextensions_configurator enable --user

其中 jupyter_contrib_nbextensions 是功能集成插件,nbextensions_configurator 让用户可以直接在 notebook 界面中修改这些选项。
成功配置的话,启动 notebook 会看到
这里写图片描述

多了一个菜单。打开
这里写图片描述
发现可选内容很多,这里我们只需要折叠代码的功能,所以直接在 Collapsible Headings 勾选就可以了。其他功能可以自己慢慢尝试。