繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM