2.3 IPython Notebook

IPython Notebook在社区中日渐流行,特别是在科研和教育领域。它为IPython带来了HTML UI,也可以把会话保存为JSON格式的文件。由于可保存为文件,一个代码执行过程就成为reproducible的了,这在科研领域是极为重要的。Notebook在浏览器中执行脚本,同时也可以包含Markdown、图片之类的文件。Notebook文件还可以导出为Python脚本、HTML或PDF。

注:从4.0开始,IPython成为Jupyter的kernel,后者Jupyter Notebook相比IPython Notebook更为强大,支持的语言超过40种,特别是数据科学方面的R、Julia、Scala和Bash等语言

除了Shell,IPython的另一种界面是Qt console,这个版本的用户体验更好,比如帮助信息显示、文本编辑(copy、paste之类)。在安装Anaconda之后,会自动拥有这个Qt版。

2.3.1 安装

如果IPython是通过诸如Anaconda这样的发行包安装的,那么NotebookServer已经可以使用了。如果是手动安装的,那么PyZMQ和Tornado是必需的。

打开Jupyter Notebook,然后可以访问http://127.0.0.1:8888/tree,进入Notebook dashboard页面。

有一个NB的viewer:http://nbviewer.ipython.org/,可以在线浏览和分享Notebook。

2.3.2 与cell玩耍

通过菜单创建一个Notebook后,就可以肆意玩耍了,当你能够熟练地使用Notebook后,你会更好地理解“肆意”的意思:)

在第一个cell里随便输入一段代码(可执行的),然后按Shift+Enter,Notebook会执行这个cell,然后跳转至下一个cell。如果按Ctrl+Enter,则只执行代码而不跳转。

先按Ctrl+M,再按H会显示所有快捷键列表。

2.3.3 cell魔法方法

使用前缀%%:

%%file test.txt
Hello World!

2.3.4 管理Notebook

在使用桌面编辑器时,我们习惯使用Ctrl+S,这在Notebook中也可以。

2.3.5 多媒体和富文本编辑

即已提到过的Markdown支持。

2.3.6 绘图

详见第四章