是否可以手动将造纸厂参数添加到 jupyter 笔记本中,例如在编辑器中?是否可以将造纸厂参数添加到 .py 文件并在转换为 .pynb 文件时保留它们?
语境:
我正在通过 Papermill 以自动方式运行 jupyter 笔记本。我想手动将参数添加到笔记本中,而不是使用 jupyter 或 jupyter 实验室界面。理想情况下,这些参数可以首先添加到 python 脚本 .py 文件中。将 .py 文件转换为 .ipynb 文件后,参数将保持不变。
我想要的工作流程如下所示:
- 将通用笔记本存储为带有参数的 <notebook>.py 文件在版本控制存储库中
- 将python脚本<notebook>.py转换为jupyter notebook<notebook>.ipynb
- 通过 papermill 运行 <notebook>.ipynb 并将参数传递给它
- 使用 nbconvert 生成没有代码的输出 pdf(使用 exclude_input 参数)
步骤 1-3 将通过可自动执行的脚本运行。我想使用 jupytext 来避免存储笔记本及其所有相关元数据。目前,我能找到将参数添加到笔记本的唯一方法是通过 jupyter/(lab) 接口添加它们。然后我可以用造纸机运行笔记本。但是,这不适用于 jupytext 转换。
*注意我会在其中添加“jupytext”标签,但它还不存在,我没有足够的代表来创建
编辑
醋栗的答案似乎是正确的。
但是,实际上似乎没有必要将参数标签添加到您的笔记本中以通过 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