4

我正在使用 Papermill 的 python 客户端运行一个 jupyter notebook 脚本。运行时,我想指定内核。但是,该脚本与我的活动 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' )
4

3 回答 3

7

不确定现在是否为时已晚,但您可以检查一下:

papermill {input_path} {output_path} -k {kernel_name}
于 2019-10-10T21:41:09.437 回答
2

文档并不全面。你可以在这里找到其他可配置的参数: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'
)

(我试过了,它奏效了)

于 2020-11-25T17:31:28.830 回答
-1

使用 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
于 2019-05-07T12:55:28.203 回答