![](/img/trans.png)
[英]Is it possible to halt execution of a Jupyter notebook using papermill?
[英]How to specify kernel while executing a Jupyter notebook using Papermill's Python client?
我正在使用 Papermill 的 python 客户端运行 jupyter 笔记本脚本。 运行时,我想指定内核。 但是,该脚本在与我的活动 python shell 相同的内核中运行(我通过它对 papermill 进行了 API 调用以运行笔记本的脚本)。
我尝试查看文档( https://papermill.readthedocs.io/en/latest/usage-execute.html#execute-via-the-python-api )但徒劳无功。
import papermill as pm
pm.execute_notebook( 'dfnjofnei.ipynb', 'dfnjofnei_output.ipynb' )
不确定现在是否为时已晚,但您可以检查一下:
papermill {input_path} {output_path} -k {kernel_name}
文档并不全面。 您可以在此处找到其他可配置参数: https : //github.com/nteract/papermill/blob/main/papermill/execute.py
要在调用 API 时指定内核,只需提供kernel_name
,例如:
import papermill as pm
pm.execute_notebook(
'input.ipynb',
kernel_name='python3'
)
(我试过了,它奏效了)
使用 pipenv 管理虚拟环境并围绕您使用的任何工具构建内核。
首先确保你已经安装了pipenv 。 然后你可以轻松地创建一个新的 pipenv 和 ipython 内核
$ pipenv [--two|--three] install ipykernel
创建 ipykernel 后,您需要安装它:
$ pipenv run python -m ipykernel install --user --name=My_Project_Name"
将您想要的任何其他 pip 模块添加到 venv:
$ pipenv install module_name
启动 Jupyter Notebook 并从下拉菜单中选择您的内核。
您现在可以随意添加模块,无需重新启动内核即可使用它们。
为了简化这个过程,我创建了一个小工具,可以从命令行自动创建 pipenv 环境。 它还有助于删除未使用的内核。 您可以在此处找到它以及一个脚本,用于去除任何笔记本%magic
并将 ipynotebooks 转换为可运行的 Python 脚本。
用法:
# create a python 3 virtualenv and add the kernel to ipython
$ mkdir MyProject
$ cd MyProject
$ pipenv_jupyter.sh -3
# remove an unwanted kernel
$ pipenv_jupyter.sh -c
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.