8

当我打开一个保存的 IPython Notebook 时,我需要使用导入、函数定义等评估所有单元格以继续处理会话。单击此操作很方便Cell > Run All。但是如果我不想重新评估所有计算怎么办?我每次都需要手动挑选细胞进行评估吗?

对于这个问题,Mathematica 有“初始化单元”的概念。您可以将笔记本中的一些单元格标记为初始化单元格,然后在打开笔记本后执行“评估初始化单元格”。

IPython Notebook 有类似的解决方案吗?

4

2 回答 2

3

首先,当您打开 IPython 笔记本时,这并不意味着内核状态丢失,除非您重新启动服务器或显式停止内核。

否则,没有标记的单元格,但在开发版本上有一个“运行到这里”。

此外,如果您使用的是开发版本,使用 Cell Toolbar /metadata 我会说 ~30 行 javascript 它应该是可行的。

我建议您在主要问题跟踪器上打开一个增强请求。这通常可以在 sprint 和/或博客文章期间作为扩展来解释笔记本的内部。

于 2013-02-18T16:54:35.603 回答
2

如果您使用的是最新最好的笔记本(我的是 > 4.1),您请求的功能可通过扩展获得。

扩展,以及可以方便地用于启用/禁用每个单独的扩展的界面,可以安装如下

$ git clone https://github.com/ipython-contrib/IPython-notebook-extensions.git
$ cd IPython-notebook-extensions
$ ./setup.py

安装扩展后,启动笔记本服务器

$ cd ; jupyter-notebook < /dev/null > .jupiter.log 2>&1 &

并进入扩展管理页面

$ xdg-open http://localhost:8888/nbextensions

在最近打开的浏览器窗口中,启用“初始化单元”扩展。

如果您现在打开自己的笔记本,您将在工具栏中看到一个新图标,类似于手持计算器,并在View/Cell Toolbar新条目中看到Initialisation Cell.

启用此菜单条目并单击要标记为初始化单元格的单元格的工具栏(可能删除单元格的工具栏),然后单击前面描述的图标...

当你加载一个笔记本时,初始化单元会自动运行,所以如果你愿意,你可以把它们放在一个方便的地方,如果你像我一样说笔记本的结尾......

于 2016-06-27T13:09:08.960 回答