问题标签 [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 投票
2 回答
1186 浏览

jupyter-notebook - 如何使用其标签以编程方式删除 Jupyter Notebook 输入单元?

在我们最大的 ML 建模管道笔记本中,我们需要删除单个输入(代码)单元(包含在自动执行时无法通过其他方式传递的敏感信息)。

该单元已通过papermill.execute_notebook()在另一个笔记本(控制器)中执行创建(注入),并已使用标签自动injected-parameters标记。

解决方案(可能不是唯一的?)是在单元格执行后立即删除它。

如果搜索标签变得更加困难,那么让我们使用解决方案来删除前一个输入单元格(以编程方式)。

什么没有奏效

隐藏输入单元格还不够好,因为它仍然会保存到磁盘中(这包括report_onlypapermill's 中的选项execute_notebook())。同样“转换”nbconvert为 HTML(它确实允许根据标签选择要删除的单元格,如在解决方案中一样)仍将保留原始笔记本,其中包含编码密码。

0 投票
1 回答
83 浏览

parameters - 从 CLI 运行具有不同配置的 Jupyter Notebook

我开始在我的项目中使用 Jupyter Notebook,并使用nbconvert它从命令行运行它。

我想知道有没有办法拥有一个.ipynb文件并使用一些命令行参数运行它或从stdin某个地方读取?

我阅读nbconvert了文档,但没有找到方法。

如果没有办法做类似的事情,我想知道拥有单个.ipynb文件并使用不同配置运行的最佳做法是什么?

先感谢您。

0 投票
1 回答
2596 浏览

python - zmq.error.ZMQError:地址已在使用中,当使用 papermill 对多个笔记本运行多处理时

我正在使用 papermill 库同时使用多处理运行多个笔记本。

这发生在 Docker 容器内的 Python 3.6.6、Red Hat 4.8.2-15 上。

但是,当我运行 python 脚本时,由于我收到此错误,大约 5% 的笔记本无法立即运行(没有 Jupyter Notebook 单元运行):

随着:

请帮我解决这个问题,因为我已经在网上搜索了不同的解决方案,但到目前为止没有一个对我的案例有用。

无论我同时运行的笔记本电脑数量或计算机上的内核数量如何,都会出现 5% 的错误率,这让我更加好奇。

我尝试更改启动方法并更新库,但无济于事。

我的库的版本是:

谢谢!

0 投票
0 回答
577 浏览

python - 在 docker 容器内使用造纸厂进行多处理

我面临的问题如下:

这是设置:

  • 一个基础镜像为 Python:3.7.8-stretch 的 docker 容器
  • Ubuntu 20.04 上的本地环境

我的目标是使用 Python 和 Papermill 包在 docker 容器内并行启动多个 jupyter notebook。

Dockerfile:

代码就在这里:

这是我用来运行容器的 docker 命令(我没有指定所有环境变量,因为我丢失了终端历史记录,抱歉):

我已经尝试了一些东西,例如并发包,但是即使笔记本执行完成,它也会在最后抛出一个错误。

这段代码的奇怪之处在于:当我在本地运行时(我通过 Pycharm 和终端启动脚本),它完成了一堆笔记本的执行,但它不在Docker 容器中;即使笔记本已经完成,进程仍然挂起,我确认了这一点,因为我可以看到 API 调用的结果。

所以,如果有什么我可以改进的问题,请告诉我。

0 投票
1 回答
149 浏览

python - 为什么我只能在使用 `pipenv run papermill` 时在我的 jupyter 笔记本中导入包?

在我必须运行一些 Jupyter 笔记本的项目中,我使用 pipenv 创建了一个虚拟环境并安装了一些包(注意我使用了--site-packages标志)。

虽然现在我可以使用 运行笔记本,但由于某些异常pipenv run papermill ...,我无法使用pipenv run或从 Jupyter 运行它们。pipenv shellModuleNotFoundError

特别是,在第二种情况下发现的模块是仅安装在虚拟环境中的模块,而不是从全局站点继承的。

确实,如果我检查一下,sys.path我可以看到两种情况的区别:第二种情况没有~/.local/share/virtualenvs/...条目。

为什么我会遇到这个问题,如何解决?(如果可能的话,我宁愿不要~/.local/share/jupyter/kernels用来自 virtualenvs 的其他内核污染我的内核)。

0 投票
0 回答
291 浏览

python - 将 python 脚本转换为 Jupyter 并将输出保存为 html

我有一个 python 脚本,它接受--days参数并输出范围的图形,我想将此 python 脚本转换为 Jupyter 笔记本并执行代码并将输出保存为 html 格式。

以上几行在转换时保存在 Jupyter 单元格中,如何在执行 jupyter notebook 时传递 days 参数?

使用 papermill 执行并遇到以下错误:

还尝试在 jupyter notebook 上将 python 脚本作为 cmd 行运行,python 脚本已执行但未显示图表。 jupyter nb 如果它的路径正确,或者是否有更好的版本可以将 python 脚本与输出图转换为 html 版本,请提供建议。

0 投票
0 回答
281 浏览

python - 如果不满足某些条件,使用 papermill CLI 如何更早地完成 jupyter notebook?

如果我需要提前完成代码,Papermill 会抛出异常。例如使用 quit():

我想知道是否有一种方法可以指示代码退出而不会引发异常。

例子:

0 投票
2 回答
329 浏览

python - Apache Airflow、Papermill 和自定义内核

我目前正在尝试使用 apache 气流和造纸厂执行 jupyter 笔记本。

为了使用我的自定义环境和自定义用户内核,我正在使用 BashOperator 并以这种格式运行命令

这是尝试执行后 Dag 日志的样子: Dag 日志

我一直无法使用 python 或 papermill 运算符,因为笔记本使用的内核/环境没有全局安装。

有任何想法吗?

0 投票
6 回答
2362 浏览

python - 在 Jupyter Notebooks 和 Papermill 的帮助下,Airflow 中的 ETL

所以我的问题是我在 Airflow 中构建 ETL 管道,但实际上首先在 Jupyter 笔记本中开发和测试提取、转换和加载功能。所以我最终总是在我的 Airflow Python 操作符代码和 Jupyter 笔记本之间来回复制粘贴,效率非常低!我的直觉告诉我,所有这些都可以自动化。

基本上,我想在 Jupyter 中编写我的提取、转换和加载函数并让它们留在那里,同时仍然在 Airflow 中运行管道并显示提取、转换和加载任务,以及重试和 Airflow 的所有好东西开箱即用。

Papermill 能够参数化笔记本,但我真的想不出这对我有什么帮助。有人可以帮我连接点吗?

0 投票
0 回答
191 浏览

google-cloud-platform - 启动脚本运行的笔记本的工作目录不是它的真实路径,而是'/'

我有一个带有启动脚本的笔记本实例,该脚本使用 Papermill 来执行笔记本。问题是工作目录是'/'而不是文件的路径。如何获取文件的路径以便将其设置为工作目录?

这就是我更新脚本的方式: