【问题标题】:How do I add a kernel on a remote machine in IPython (Jupyter) Notebook?如何在 IPython (Jupyter) Notebook 中的远程计算机上添加内核?
【发布时间】:2015-05-16 05:29:44
【问题描述】:

本地计算机 (PC) 上 UI 右上角的下拉菜单:

Kernel-> 
    Change kernel->
        Python 2 (on a local PC)
        Python 3 (on a local PC)
        My new kernel (on a remote PC)

【问题讨论】:

    标签: python ipython ipython-notebook ipython-parallel jupyter


    【解决方案1】:

    IPython notebook 通过预定义的端口与内核对话。要与远程内核通信,您只需将端口转发到远程计算机作为内核初始化的一部分,笔记本不关心内核在哪里,只要它可以与它通信。

    您可以设置在内核规范文件 (https://ipython.org/ipython-doc/dev/development/kernels.html#kernel-specs) 中调用的包装脚本,或者使用可以帮助您设置和管理不同类型的远程内核的模块:(pip install remote_ikernel;https://bitbucket.org/tdaff/remote_ikernel )。

    如果您使用的是 remote_ikernel,并且对机器具有 ssh 访问权限,则以下命令将在下拉列表中设置条目:

    remote_ikernel manage --add \
        --kernel_cmd="ipython kernel -f {connection_file}" \
        --name="Remote Python" --interface=ssh \
        --host=my_remote_machine
    

    【讨论】:

    • connection_file 应该在这里是什么?远程机器上生成的kernel-XXXX.json文件有相关端口信息? my_remote_machine 应该是什么?
    • @user5359531 你不需要更改connection_file,这是启动内核的命令的一部分。将 my_remote_machine 替换为您 ssh 到的机器的主机名。
    • 非常好的工具!谢谢!
    • 哇!奇迹般有效!谢谢!
    • 知道如何在特定的虚拟环境中启动内核吗? :)
    【解决方案2】:

    IPython 使用内核是~/.ipython/kernel/<name> 中的一个文件,描述了如何启动内核。如果您创建自己的内核(远程或其他),您可以让程序运行远程内核并在本地绑定到笔记本所需的端口。

    【讨论】:

    • 内核必须在本地绑定是否存在根本原因,或者我们是否有可能有一天会看到对绑定到远程端口的远程内核的核心支持?
    • 当前的内核仅限于 ZMQ 可以做的事情。 ZMQ 已经可以做远程主机了,虽然不建议这样做;出于安全原因,如果网络不受信任,您可能应该将连接包装在另一个协议中。
    【解决方案3】:

    远程 jupyter 内核/内核管理实用程序(rk): https://github.com/korniichuk/rk

    1. Install the rk from GitHub:

      $ sudo pip install git+git://github.com/korniichuk/rk#egg=rk

    2. Setup SSH for auto login without a password:

      $ rk ssh

    3. Install a template of a remote jupyter kernel:

      $ rk 安装模板

    4. 更改kernel.json 文件:

      $ sudo gedit /usr/local/share/jupyter/kernels/template/kernel.json

    例如从remote_username@remote_hostalbert@192.168.0.1

    点击:Quickstart and YouTube video (less than 3 min)

    【讨论】:

      猜你喜欢
      • 2017-05-18
      • 1970-01-01
      • 2019-08-29
      • 2021-05-21
      • 2015-05-04
      • 1970-01-01
      • 2018-05-15
      • 1970-01-01
      相关资源
      最近更新 更多