跳转到主要内容

通过批处理队列运行IPython内核。原项目的分支,支持mosh。

项目描述

所有您的Jupyter内核,都在一个地方。

在远程系统上启动Jupyter内核并通过批处理队列,以便它们可以在本地Jupyter笔记本中使用。

https://bitbucket.org/tdaff/remote_ikernel/raw/default/doc/kernels.png

Jupyter兼容内核通过批处理队列系统(SGE、SLURM、PBS...)或通过SSH连接启动交互式作业。一旦内核启动,就会创建SSH隧道,以便通信端口,这样笔记本就可以像本地一样与内核通信。

包括管理内核的命令。也可以使用 remote_ikernel 来管理不同虚拟环境或不同Python实现中的内核。

使用 pip install remote_ikernel 安装。需要 notebook(作为Jupyter的一部分),版本4.0或更高,以及 pexpect。还需要对所有远程机器的无密码 ssh(例如,集群上的节点)。

# Install the module ('python setup.py install' also works)

pip install remote_ikernel
# Set up the kernels you'd like to use

remote_ikernel manage
# Add a new kernel running through GrideEngine

remote_ikernel manage --add \
   --kernel_cmd="ipython kernel -f {connection_file}" \
   --name="Python 2.7" --cpus=2 --pe=smp --interface=sge
# Add an SSH connection to a remote machine running IJulia

remote_ikernel manage --add \
   --kernel_cmd="/home/me/julia-79599ada44/bin/julia -i -F /home/me/.julia/v0.3/IJulia/src/kernel.jl {connection_file}" \
   --name="IJulia 0.3.8" --interface=ssh \
   --host=me@remote.machine --workdir='/home/me/Workdir' --language=julia
# Set up kernels for your local virtual environments that can be run
# from a single notebook server.

remote_ikernel manage --add \
   --kernel_cmd="/home/me/Virtualenvs/dev/bin/ipython kernel -f {connection_file}" \
   --name="Python 2 (venv:dev)" --interface=local
# NEW!!
# Connect to a SLURM cluster through a gateway machine (to get into a
# local network) and cluster frontend machine (where the sqsub runs from).

remote_ikernel manage --add \
   --kernel_cmd="ipython kernel -f {connection_file}" \
   --name="Python 2.7" --cpus=4 --interface=slurm \
   --tunnel-hosts gateway.machine cluster.frontend

将安装内核规范文件,以便新的内核在笔记本的下拉列表中显示。remote_ikernel manage还提供了显示和删除现有内核的选项。

0.4版本的变化

  • 选项--tunnel-hosts。当指定时,软件将尝试在启动最终连接之前通过所有主机创建SSH隧道。允许在远程系统上使用批量队列。

  • 初步支持处理密码。如果程序在环境变量SSH_ASKPASS中定义,则将使用它来提示用户输入密码。

0.3版本的变化

  • 更新pip需求以拉取notebook包。如果您需要使用IPython 3,请使用更早的版本。

  • 远程进程被轮询以获取输出,如果用作内核选项,则会在--verbose时显示。

0.2版本的变化

  • 版本0.2.11是最后一个支持IPython笔记本版本3的版本。pip需求强制使用小于4的版本。使用较新版本以确保与Jupyter分拆的兼容性。

  • 通过qsub -I支持PBS/Torque。

  • 隧道保持得更好,如果某个东西没有响应,请尝试等待20秒,看看隧道是否已经死亡。(隧道不再依赖于pyzmq,而是通过pexpect启动并监控直到它们死亡。)

  • 可以使用--remote-launch-args来设置qlogin参数或类似参数。

  • --remote-precmd允许在启动内核之前在远程主机上执行额外命令。

  • 与Python 3的兼容性更好。

  • 使用--verbose选项在终端上显示内核输出以进行调试。

  • 使用ssh、slurm或本地内核连接到主机。

  • 将前缀更改为rik_

  • kernel_cmd现在需要{connection_file}参数。

  • remote_ikernel manage --show命令用于显示现有内核。

  • 使用--workdir指定远程机器上的工作目录。

  • kernel-uuid.json被复制到没有访问前端文件系统的系统的工作目录。

  • 添加了兼容层以消除Jupyter警告。

项目详细信息


下载文件

下载您平台上的文件。如果您不确定要选择哪个,请了解更多关于安装软件包的信息。

源分布

remote_ikernel_mosh-0.4.4.tar.gz (16.4 kB 查看哈希值)

上传时间 来源

由以下支持