如何在IPython(Jupyter)Notebook中的远程计算机上添加内核?

时间:2015-03-13 16:22:38

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

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

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

3 个答案:

答案 0 :(得分:19)

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

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

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

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

答案 1 :(得分:5)

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

答案 2 :(得分: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 install-template

  4. 更改kernel.json文件:

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

  5. 例如,从remote_username@remote_hostalbert@192.168.0.1

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