【发布时间】:2021-12-07 15:25:04
【问题描述】:
是否可以手动将 papermill 参数添加到 jupyter notebook,例如在编辑器中?是否可以将 papermill 参数添加到 .py 文件并在转换为 .pynb 文件时保留它们?
上下文:
我正在通过 Papermill 以自动化方式运行 jupyter notebook。我想手动将参数添加到笔记本中,而不是使用 jupyter 或 jupyter 实验室界面。理想情况下,这些参数可以首先添加到 python 脚本 .py 文件中。将 .py 文件转换为 .ipynb 文件后,参数将保持不变。
我想要的工作流程如下所示:
- 将通用笔记本存储为
.py 文件,并在版本控制存储库中包含参数 - 将python脚本
.py转换为jupyter notebook .ipynb - 通过 papermill 运行
.ipynb 并将参数传递给它 - 使用 nbconvert 生成没有代码的输出 pdf(使用 exclude_input 参数)
步骤 1-3 将通过可自动执行的脚本运行。我想使用 jupytext 来避免存储笔记本及其所有相关元数据。目前,我能找到将参数添加到笔记本的唯一方法是通过 jupyter/(lab) 接口添加它们。然后我可以用造纸机运行笔记本。但是,这不适用于 jupytext 转换。
*注意我会在其中添加“jupytext”标签,但它还不存在,我没有足够的代表来创建
编辑
gooseberry 的答案似乎是正确的。
但是,实际上似乎没有必要将参数标签添加到您的笔记本中以通过 papermill 注入参数。虽然 papermill 会发出no cell with tag parameters found in notebook 警告,但它仍会注入参数。此外,您的 papermill 输出笔记本将有一个新单元格:
# Parameters
parm1 = <val passed to papermill>
parm2 = <val passed to papermill>
etc.
版本:
- 造纸厂 = 2.2.3
- jupytext = 1.12.0
【问题讨论】: