通过批处理队列运行IPython内核。原项目的分支,支持mosh。
项目描述
所有您的Jupyter内核,都在一个地方。
在远程系统上启动Jupyter内核并通过批处理队列,以便它们可以在本地Jupyter笔记本中使用。
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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5c2784ba198f3718f508f71b6da201246bc04ab535a6f5cc8f0f92617e471c76 |
|
MD5 | 09ded0bdc0fd173921067dc53533dfa1 |
|
BLAKE2b-256 | 2358d556143d8b853ae1f8d47b9a1a7754306e1a249318b9bfc9061393220506 |