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