假设我正在 Jupyter/Ipython 笔记本中进行更大的数据分析,并完成了大量耗时的计算。然后,由于某种原因,我不得不关闭 jupyter 本地服务器 I,但我想稍后再返回进行分析,而不必再次进行所有耗时的计算。
我喜欢喜欢做的是 pickle
或存储整个 Jupyter session (所有 pandas 数据帧、np.arrays、变量……),这样我就可以安全地关闭服务器,因为我知道我可以以与以前完全相同的状态返回到我的 session 。
这在技术上是否可行?是否有我忽略的内置功能?
编辑: 基于 this回答有一个%store
magic这应该是“轻量级泡菜”。但是,您必须像这样手动存储变量:
#在 ipython/nb session 中
foo = "一个虚拟字符串"
%store foo
关闭视野,重启内核
%store -r foo
# r 刷新
print(foo) # "一个虚拟字符串"
这与我想要的非常接近,但是必须手动完成并且无法区分不同的 session ,这使得它不太有用。
最佳答案
我认为 Dill 很好地回答了你的问题。
pip install dill
保存笔记本 session :
import dill
dill.dump_session('notebook_env.db')
恢复笔记本 session :
import dill
dill.load_session('notebook_env.db')
关于python - 如何腌制或存储 Jupyter (IPython) 笔记本 session 以供以后使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34342155/