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

kor*_*huk 19 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)
Run Code Online (Sandbox Code Playgroud)

tda*_*aff 22

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

您可以设置一个在内核规范文件中调用的包装脚本(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
Run Code Online (Sandbox Code Playgroud)

  • 这里的“connection_file”应该是什么?在远程计算机上生成的 kernel-XXXX.json 文件以及相关端口信息?“my_remote_machine” 应该是什么? (2认同)
  • @user5359531您不需要更改“connection_file”,这是启动内核的命令的一部分。将 `my_remote_machine` 替换为您 ssh 到的计算机的主机名。 (2认同)
  • 哇!奇迹般有效!谢谢! (2认同)

Mat*_*att 5

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

  • 是内核必须在本地绑定的根本原因,还是有一天我们可能看到对绑定到远程端口的远程内核的核心支持? (2认同)