手动在笔记本中添加造纸厂参数



是否可以手动将造纸厂参数添加到jupyter笔记本中,例如在编辑器中?是否有可能将造纸厂参数添加到.py文件中,并在转换为.pynb文件时保持它们?

背景:

我正在通过Papermill以自动化的方式运行jupyter笔记本。我希望手动向笔记本添加参数,而不是使用jupyter或jupyter实验室接口。理想情况下,可以先将这些参数添加到python脚本.py文件中。在将.py文件转换为.ipynb文件后,参数将保持不变。

我想要的工作流程是这样的:

  1. 将普通笔记本存储为<</li>版本控制库中包含参数的notebook>.py文件
  2. 转换python脚本<笔记本>.py到jupyter笔记本<笔记本在.ipynb>
  3. & lt;笔记本祝辞。ipynb通过造纸厂并传递参数给它
  4. 使用nbconvert生成不带代码的pdf输出(使用exclude_input参数)

步骤1-3将通过一个可以自动执行的脚本运行。我想使用jupytext来避免存储笔记本及其所有相关元数据。目前,我能找到的向笔记本添加参数的唯一方法是通过jupyter/(lab)接口添加参数。然后我可以运行笔记本与造纸机。但是,这不适用于jupytext转换。

*注:我将添加"jupytext"标签,但它还不存在我没有足够的rep来创建

编辑

鹅莓的答案似乎是正确的。

然而,为了通过造纸机注入参数,实际上似乎没有必要在笔记本中添加参数标签。虽然造纸厂会给出一个no cell with tag parameters found in notebook警告,但它仍然会注入参数。此外,您的纸厂输出笔记本将有一个新的单元格:

# Parameters
parm1 = <val passed to papermill>
parm2 = <val passed to papermill>
etc.

版本:

  • 造纸= 2.2.3
  • jupytext = 1.12.0

这取决于您为.py文件选择的格式,但假设您选择了" % "格式,其中每个新单元格都用#%%标记,以添加标记,您可以这样写:

#%% tags=["parameters"]
my_text = ""
print(my_text)

现在你可以使用Papermill注入不同的my_text值。

你可以在这里找到更多关于格式的信息:https://jupytext.readthedocs.io/en/latest/formats.html

相关内容

  • 没有找到相关文章

最新更新