重新打开笔记本时,我通常必须重新运行笔记本(的大部分部分),以便访问先前定义的变量并继续工作。
然而,有时我想跳过一些单元格,这些单元格对后续单元格没有影响(例如,它们可能包含已完成的分析分支)并且可能需要很长时间才能运行。这些单元格可能分散在整个笔记本中,因此“Run All Below”之类的内容不会有太大帮助。
有办法实现这一点吗?
理想情况下,这些单元格可以用一些特殊标志标记,以便它们可以手动“运行”,但在“全部运行”时会被跳过。
EDIT
%%cache
(ipycache扩展)正如@Jakob建议的在一定程度上解决了这个问题。
实际上,重新运行时我什至不需要加载任何变量(这些变量可能很大,但对于后续单元格来说是不必要的),只有存储的输出作为分析结果很重要。
作为解决方法,将%%cache folder/unique_identifier
到单元格的开头。该代码只会执行一次,重新运行时不会加载任何变量,除非删除 unique_identifier 文件。
Unfortunately, all the output results are lost when re-run with %%cache
...
EDIT II(2013 年 10 月 14 日)
ipython+ipycache 的主版本现在也腌制(并重新显示)codecell 输出。
对于丰富的显示输出,包括 Latex、HTML(pandas DataFrame 输出),请记住使用 IPython 的 display() 方法,例如,display(Latex(r'$\alpha_1$'))