【问题标题】:How to specify kernel while executing a Jupyter notebook using Papermill's Python client?如何在使用 Papermill 的 Python 客户端执行 Jupyter 笔记本时指定内核?
【发布时间】:2019-09-25 02:41:15
【问题描述】:

我正在使用 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' )

【问题讨论】:

    标签: python python-3.x jupyter-notebook jupyter papermill


    【解决方案1】:

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

    papermill {input_path} {output_path} -k {kernel_name}
    

    【讨论】:

      【解决方案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'
      )
      

      (我试过了,效果很好)

      【讨论】:

        【解决方案3】:

        使用 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 环境。它还有助于删除未使用的内核。您可以找到它 here 以及一个脚本,以剥离任何笔记本 %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
        

        【讨论】:

        • 这并没有解决最初的问题...... OP 显然知道虚拟环境,但想知道如何通过 Papermill 使用它们..
        猜你喜欢
        • 2021-06-05
        • 2016-07-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多