Jupyter Notebook 无法识别以前保存的代码

Jupyter notebook not recognising previously saved code

我在 jupyter notebook 中保存了一天的工作。第二天我打开它时,它显示了我编写的所有代码和执行的行。但是,当我尝试 运行 使用昨天定义的内容进行编码时,它不起作用。例如,如果我昨天定义了一个变量,保存了该代码并在今天尝试通过在新代码行中调用该变量来 运行 它,它显示 'variable not defined'。 enter image description here

Jupyter notebook 是一个 JSON 文件,作为 complete computational record of a session,特别包括代码单元和输出单元。

documentation 中所写,每个 Jupyter notebook 都与一个 kernel 相关联,可以将其视为 Jupyter notebook 的 computational engine。粗略地说,在代码单元中执行代码与执行任何其他 Python 程序并没有真正的不同。你的变量、你的函数等都存储在内存中。如果内核关闭,内存将被释放。 state of execution 不会存储在 Jupyter notebook 的 JSON 文件中。

因此,如果您关闭内核并在第二天重新启动它,输出单元格表明一切都处于与以前相同的状态,但实际上并非如此。您必须再次 运行 每个单元格。

通过使用 Cell -> Run All.

一次执行所有单元格,在 Jupyter 中有一种方便的方法可以做到这一点