当前位置: 首页 > 面试题库 >

运行IPython Notebook时如何(间歇地)跳过某些单元格?

岳晟
2023-03-14
问题内容

重新打开笔记本时,我通常必须重新运行笔记本的(大部分)笔记本,以访问先前定义的变量并继续工作。

但是,有时我想跳过一些对后续单元没有影响的单元(例如,它们可能包含已完成的分析分支),并且可能需要很长时间才能运行。这些单元可以分散在整个笔记本电脑中,因此“在下方运行所有设备”将无济于事。

有没有办法做到这一点?

理想情况下,可以为这些单元格添加一些特殊标志,以使其可以手动“运行”,但在“全部运行”时将被跳过。

编辑

%%cache @Jakob建议使用(ipycache扩展名)在某种程度上解决了该问题。

实际上,我什至在重新运行时甚至不需要加载任何变量(该变量可能很大,但对于后续单元格而言则不必要),只有存储的输出才是分析结果。

解决方法是,将其置于%%cache folder/unique_identifier单元格的开头。该代码将仅执行一次,并且重新运行时不会加载任何变量,除非您删除unique_identifier文件。

不幸的是 ,当重新运行时,所有输出结果都会丢失 %%cache

编辑II (2013年10月14日)

现在,ipython + ipycache的主版本也腌制(并重新显示)代码单元输出。

对于包括Latex,HTML(pandas DataFrame输出)在内的丰富显示输出,请记住使用IPython的display()方法,例如,
display(Latex(r'$\alpha_1$'))


问题答案:

当前,IPython笔记本中不包含此类功能。尽管如此,仍有一些可能使您的生活更轻松,例如:

  • 使用%store或更好的%%cache魔术(扩展名)来存储这些间歇性单元格的结果,因此不必重新计算它们(请参阅https://github.com/rossant/ipycache)

  • if==0:在您不想执行的单元格之前添加一个

  • 将这些单元格转换为原始单元格(但是您将丢失已经存储的输出!)

(请参阅https://github.com/ipython/ipython/issues/2125上的讨论)

雅各布



 类似资料:
  • 我正在使用TestNG进行单元测试。我使用@BeforeMethod保存记录,然后执行更新、搜索、删除测试。 我的测试类如下所示:

  • 问题内容: 有没有办法限制来自mysqldump命令的某些表? 例如,我将使用以下语法 仅 转储table1和table2: 但是,有没有类似的方法来转储 除 table1和table2 之外的 所有表?我没有在mysqldump文档中找到任何东西,所以暴力破解(指定所有表名)是唯一的方法吗? 问题答案: 您可以使用--ignore- table 选项。所以你可以做 之后没有空格(这不是错字)。

  • 问题内容: 我有几个使用共享资源(数据库)的作业,有时这会在(碰巧)同时触发作业的(罕见)事件中导致构建失败。 例如,给定作业A到E,是否有任何方法可以指定A和C 绝不能同时运行 ? 除上述资源外,构建彼此独立(例如,不存在上游/下游关系)。 “强力”方式将执行者的数量限制为一个,但是如果大多数作业可以很好地同时执行并且在构建服务器上不缺少计算资源,那么显然这不是理想的选择。 问题答案: 当前有两

  • 问题内容: 我目前正在运行一些单元测试,这些单元测试可能要花很长时间才能失败或无限期地运行。在成功的测试运行中,它们将始终在一定时间内完成。 是否可以创建pytest单元测试,如果在一定时间内未完成,该测试将失败? 问题答案: 您可以安装pytest-timeout插件,然后用几秒钟的超时标记您的测试功能。 在https://pypi.python.org/pypi/pytest- timeout

  • 问题内容: 我想每天早上5点执行某项任务。因此,我决定使用它,但到目前为止,我已经看到了一些示例,这些示例显示了如何每隔几分钟运行一次任务。 而且我找不到任何示例来说明如何每天在特定时间(上午5点)每天运行任务,并且还考虑了夏时制的事实- 以下是我的代码,每15分钟运行一次- 有什么办法,我可以考虑兼顾夏时制的事实,安排一个任务在每天的凌晨5点运行? 而且对于这个还是更好? 问题答案: 与当前的J

  • 问题内容: 我有这样的XML消息: 我想将被测试方法产生的这种类型的消息与预期的消息进行比较,但我不在乎。因此,我希望以上消息被认为等于: 我正在使用XMLUnit的最新版本。 我在想答案是创建一个习惯。如果有准备好要使用的东西,我只是不想重新发明轮子。 欢迎使用XMLUnit以外的库的建议。 问题答案: 自从回答了这个问题以来,XMLUnit发生了很多变化。 现在,您可以在使用时轻松忽略节​​点