我有一个设置,我有几个 Jupyter 笔记本,这些笔记本是参数化的,所以我可以从另一个笔记本运行它们。
我正在使用papermill
模块来执行此操作,这非常方便。最简单的跑步方式看起来像这样
path = '/path/to/notebook.ipynb'
pm.execute_notebook(
path,
path,
)
我现在想要的是,如果不满足某些条件,则能够从正在运行的笔记本中停止执行。
有没有办法用造纸厂做到这一点,如果没有,是否有另一个模块可以做到这一点?
您可以直接或通过 sys.exit(0) 引发 SystemExit(0) 或 SystemExit('')。造纸厂旨在忽略这些错误: https://github.com/nteract/papermill/pull/449
我只会在笔记本中使用assert not failure_condition, "My condition failed"
来强制引发异常。这将停止执行并引发一个异常,即造纸厂将在称为pm.execute_notebook
的父进程中包装PapermillExecutionError
。