问题标签 [papermill]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2700 浏览

python - 如何在使用 Papermill 的 Python 客户端执行 Jupyter 笔记本时指定内核?

我正在使用 Papermill 的 python 客户端运行一个 jupyter notebook 脚本。运行时,我想指定内核。但是,该脚本与我的活动 python shell 在同一个内核中运行(通过它我对 papermill 进行 API 调用以运行笔记本的脚本)。

我尝试查看文档(https://papermill.readthedocs.io/en/latest/usage-execute.html#execute-via-the-python-api)但徒劳无功。

0 投票
1 回答
1415 浏览

python - 如何避免在 Papermill 中名为“kernelspec”的 Keyerror?

我正在使用气流(docker)运行造纸厂命令。该脚本存储在 S3 上,我使用 papermill 的 Python 客户端运行它。它最终导致一个完全无法理解的错误:

我尝试查看文档但徒劳无功。

我正在使用的代码是运行 papermill 命令是:

功能run_jupyter_notebook是:

我希望代码运行没有任何错误,因为我也在本地运行它(不使用 s3 路径,使用本地文件系统路径)

0 投票
0 回答
778 浏览

python - 如何在远程服务器上运行 Papermill?

我想运行一个papermillPython 脚本来执行一个.ipynb文件。截至目前,它在本地运行,但我想在另一台服务器上运行它,比如另一个 Docker 容器。

我尝试阅读文档(https://buildmedia.readthedocs.org/media/pdf/test-papermill/latest/test-papermill.pdf)但它说明了如何创建一个新引擎,没有关于如何进行远程连接和定义他们的内核。

0 投票
1 回答
247 浏览

jupyter-notebook - 如何为在 K8s 上运行的 JuPyterHub 上的每个笔记本设置参数

我想设置此处定义的一些参数(https://github.com/nteract/papermill#python-version-support)。问题是,我希望能够通过 UI 做到这一点。我的集群上安装了一个 JHub,在打开它时,我希望默认设置某些参数。

另外,当我通过 papermill 传递参数时(上面的脚本保存在某个地方,然后我将通过 papermill 运行它),我希望后者覆盖前者。

我尝试在纯 JuPyter 笔记本中查看几个主题,但徒劳无功。

0 投票
2 回答
1264 浏览

python - 如何在 papermill 中参数化 Python 字典?

我想在一个变量中传递所有参数。为了实现这一点,我在我的 Python 客户端中为 Papermill 传递了一个字典,使用:

现在,我想从 bash 运行相应的命令。在文件中它指出:

但是没有给出如何传递字典。

我尝试了许多排列和组合,例如:

papermill test_params.ipynb params_output.ipynb -p params {"aviral":"srivastava"}

papermill test_params.ipynb params_output.ipynb -p params '{"aviral":"srivastava"}'

dict我还阅读了以格式传递 a :'{"aviral":"srivastava"}'然后 json.loads 将完成这项工作。但我没有自由转换输入。它必须立即在脚本中使用。

只是一个最小的脚本来实际检查传递的变量的类型:

是的,我看到使用 papermill 运行时 params 变量发生了变化,但传递的值是一个完整的字符串。

0 投票
1 回答
1091 浏览

python - 如何从 Kubernetes 集群中的 Airflow 工作人员在另一个命名空间中的另一个 pod 中运行命令

我想papermill在 pod 中运行命令并获取错误(如果有)。这必须由使用bash operatori Airflow 的 Airflow 工作人员完成。

我已经尝试根据需要运行命令,我尝试从我自己的工作人员运行多个 bash 命令,这些命令是为了在工作人员内部执行的。但这只是让我觉得这样的事情是可能的。虽然,如果有任何更好的方法可以解决这个问题,我全神贯注。

要运行的 bash 命令是:

手动,我exec在我的 pod 中然后运行这个命令。我想在气流的 dag 中将此作为 bash 命令。

0 投票
1 回答
146 浏览

jupyter-notebook - 使用 Papermill 在 Notebook 中执行 get_ipython 代码时出现问题

我有一个笔记本,可以重新格式化探索性分析笔记本的结果以导出到幻灯片。此笔记本根据传入的“部件类型”和“参数”的数量创建新单元格。我使用以下代码生成一个新单元格,当我在笔记本中测试时它可以工作:

我遇到的问题是,当我用 Papermill 执行时,这个函数没有创建单元格。

如果我打开从 Papermill 创建的新笔记本,然后单击 Cells=>Run 生成所有单元格。

谢谢您的帮助!

0 投票
1 回答
1314 浏览

python-3.x - 在 Jupyter Notebook 中隐藏代码单元,使用 Papermill 执行,使用 nbconvert 转换为 PDF

我想运行一个python程序(不是命令行)papermill来执行jupyter笔记本,然后将其转换为 PDF。这个想法很有效,但我无法隐藏输入单元格。

For应该隐藏输入单元格,但Classicpapermill report_mode = True似乎存在问题( https://github.com/nteract/papermill/issues/130jupyter

hide_input 或 html 脚本等其他扩展也不够用。也许nbconvert隐藏单元格的模板是一个解决方案,但我没有让它运行。

我的最小代码:

所以我正在寻找一种方法来执行笔记本,隐藏输入单元格并将笔记本转换为 PDF。我想使用nbconvertinPython而不是作为命令行工具,因为脚本应该每天运行。

0 投票
1 回答
394 浏览

python - 在没有错误代码的 bash 脚本中处理 python 错误

我正在运行一个 python cli 工具 Papermill。我正在运行 jupyter 笔记本,并希望能够在运行笔记本时检测到 assertionErrors。当我从 bash 脚本运行 papermill 时,我总是得到一个 0 退出代码,即使笔记本中存在 python 错误也是如此。

我找到了检测退出代码的方法,但python错误没有抛出任何代码

例如:在我的 nbTest.sh 中,我正在运行笔记本并查找错误

作为输出,我得到:

我希望退出代码为 1,但未处理 python 故障

0 投票
1 回答
1581 浏览

jupyter-notebook - 如何将参数传递给 PapermillOperator 以在气流上运行作业?

使用 PapermillOperator 运行气流作业时,dag 执行失败。

我在将参数传递给 PapermillOperator 时遇到问题。

我打开了papermill_operator.py (packages/airflow/operators/papermill_operator.py) 并硬编码了一行来指定 paparameters

然后它的工作

而原始代码是

尝试了另一个解决方案 https://github.com/nteract/papermill/issues/324#issuecomment-472446375 它工作正常

我的 DAG 代码是

[2019-09-10 20:36:48,806] {logging_mixin.py:95} INFO - [2019-09-10 > > > 20:36:48,806] {datasets.py:62} INFO - 参数 [2019-09 -10 20:36:48,806] { init .py:1580} 错误 - 无法编译非 > 模板节点 Traceback(最近一次调用):文件“/usr/local/lib/python3.5/dist-packages/气流/模型/ init .py”,第 1441 行,在 _run_raw_task 结果 = task_copy.execute(context=context) 文件“/usr/local/lib/python3.5/dist-packages/airflow/operators/papermill_operator.py”中,第 63 行,在执行参数=self.inlets[i].parameters,文件“/usr/local/lib/python3.5/dist-packages/airflow/lineage/datasets.py”,第 66 行,在getattr 返回 env.from_string(self._data.get(attr)).render(**self.context) 文件 "/home/exa00112/.local/lib/python3.5/site-packages/jinja2/environment.py",第 880 行,在 from_string 返回 cls.from_code(self, self.compile(source), globals, None) 文件“/home/exa00112/.local/lib/python3.5/site-packages/jinja2/environment.py”,第 581 行,在 compile defer_init=defer_init) 文件 "/home/exa00112/.local/lib/python3.5/site-packages/jinja2/environment.py",第 543 行,在 _generate optimization=self.optimized) 文件 "/ home/exa00112/.local/lib/python3.5/site-packages/jinja2/compiler.py",第 78 行,在生成中引发 TypeError('Can\'t compile non template nodes') TypeError: Can't compile non模板节点 [2019-09-10 20:36:48,808] { init .py:1611} 信息 - 将任务标记为失败。