Skip to main content

远程 jupyter 内核/内核管理实用程序

项目描述

<nav class="contents" id="table-of-contents" role="doc-toc">

目录

</nav>

安装

从 PyPI 安装 rk

$ sudo pip install rk

从 GitHub 安装 rk

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

从 PyPI 升级 rk

$ sudo pip install -U rk

或者:

$ sudo pip install --upgrade rk

卸载rk

$ sudo pip uninstall rk

开发安装

$ git clone git://github.com/korniichuk/rk.git
$ cd rk
$ sudo pip install .

快速开始

快速入门 [YouTube 视频]

首先,确保您可以在不输入密码的情况下登录到远程机器。该命令最基本的形式是:

$ ssh REMOTE_HOST

如果您的用户名在远程计算机上不同,您可以使用以下语法指定它:

$ ssh REMOTE_USERNAME@REMOTE_HOST

例子:

$ ssh albert@192.168.0.1

其次,将远程jupyter内核的模板安装到内核位置

$ rk install-template

、更改kernel.json文件:

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

kernel.json文件如下所示

{
 "argv": [
  "rkscript",
  "python",
  "{connection_file}",
  "remote_username@remote_host"
 ],
 "display_name": "Template",
 "language": "python"
}

对于 python2 远程 jupyter 内核,只需更改remote_username@remote_host。例如从remote_username@remote_hostalbert@192.168.0.1

第四,启动 jupyter notebook 并检查你的新远程 juputer 内核:

$ jupyter notebook

或者:

$ ipython notebook

选择:文件->新建->模板

用户指南

帮助

–help 的标准输出:

$ rk -h

或者:

$ rk --help

有关使用子命令“SUBCOMMAND”的信息,请执行以下操作:

$ rk SUBCOMMAND -h

或者:

$ rk SUBCOMMAND --help

例子:

$ rk install -h

版本

–version 的标准输出:

$ rk -v

或者:

$ rk --version

内核字典

用户指南:kernels dict [youtube 视频]

打开kernels.json文件:

$ sudo gedit /usr/local/lib/python2.7/dist-packages/rk/config/kernels.json

kernels.json文件如下所示

{
 "template": {
  "display_name": "Template",
  "interpreter": "python",
  "language": "python",
  "remote_host": "remote_username@remote_host"
 }
}

在哪里:

  • template – 远程 jupyter 内核的名称,

    • display_name – 内核的名称,应该在 UI 中显示。与 API 中使用的内核名称不同,它可以包含任意 unicode 字符[ 1 ]

    • 解释器——远程机器上语言解释器的入口点或绝对路径,

    • 语言——内核语言的名称。加载笔记本时,如果未找到匹配的 kernelspec 密钥(可能因机器而异),则将使用具有匹配语言的内核。这允许在任何 python 或 julia 内核上编写的 notebook 与用户的 python 或 julia 内核正确关联,即使它们没有以与作者的[ 1 ]相同的名称列出,

    • remote_host – 只是一个远程主机,或者,如果您的用户名在远程计算机上不同,请使用以下语法:远程用户名 AT 远程主机。

更改kernels.json文件并添加有关远程 jupyter 内核的信息,例如:

{
 "albert2": {
  "display_name": "Albert Python 2",
  "interpreter": "python2",
  "language": "python",
  "remote_host": "albert@192.168.0.1"
 },
 "albert3": {
  "display_name": "Albert Python 3",
  "interpreter": "python3",
  "language": "python",
  "remote_host": "albert@192.168.0.1"
 }
}

在哪里:

  • albert2 , albert3 – 远程 jupyter 内核的名称,

    • Albert Python 2 , Albert Python 3 – UI 的显示名称,

    • python2python3 - 远程机器上的入口点,

    • python – 远程 jupyter 内核的语言名称,

    • albert – 远程机器上的远程用户名,与本地机器上的用户名不同,

    • 192.168.0.1 - 远程主机。

内核位置

Jupyter 支持系统和用户内核位置

内核位置

系统

/usr/local/share/jupyter/kernels ; /usr/share/jupyter/内核

用户

~/.ipython/内核

rk 中的默认内核位置:/usr/local/share/jupyter/kernels

更改默认内核位置:

$ sudo gedit /usr/local/lib/python2.7/dist-packages/rk/config/rk.ini

显示来自 kernels dict 的远程 jupyter 内核列表

$ rk list

从内核字典到内核位置安装远程 jupyter 内核/内核

$ rk install KERNEL_NAME [KERNEL_NAME ...]

在哪里:

  • KERNEL_NAME –内核字典 kernels.json中远程 jupyter 内核的名称。

例子:

$ rk install albert2
$ rk install albert2 albert3

将远程 jupyter 内核的模板安装到内核位置

$ rk install-template

将所有远程 jupyter 内核从内核字典安装到内核位置

$ rk install-all

从内核位置卸载远程 jupyter 内核/内核

$ rk uninstall KERNEL_NAME [KERNEL_NAME ...]

在哪里:

  • KERNEL_NAME – 已安装的远程 jupyter 内核的名称。

例子:

$ rk uninstall albert2
$ rk uninstall albert2 albert3

从内核位置卸载远程 jupyter 内核的模板

$ rk uninstall-template

从内核位置卸载所有 jupyter 内核

$ rk uninstall-all

设置 SSH 以实现无密码自动登录

$ rk ssh

如果您熟悉ssh-keygenssh-copy-idssh-add,此代码还将设置 SSH 以实现无密码自动登录[ 2 ]

$ ssh-keygen -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa
$ ssh-copy-id REMOTE_HOST
$ eval "$(ssh-agent -s)"
$ ssh-add ~/.ssh/id_rsa

日志文件

rk 中的默认日志文件位置:/tmp/rk/log。rk 日志文件的名称,用于工作的远程 jupyter 内核,如下所示:bree@192.168.0.1_1879-03-14_11.30.00.txt。日志文件如下所示:

date: 1879-03-14 Friday
time: 11:30:00

usernames: bree<->albert
remote host: 192.168.0.1

stdin ports: 37654<->58933
hb ports: 53538<->59782
iopub ports: 45330<->51989
shell ports: 36523<->36107
control ports: 50090<->53633

pids: 16965<->20944

paramiko 日志文件位于本地连接文件目录中。paramiko 日志文件的名称,用于工作的远程 jupyter 内核,如下所示:paramiko-843664c7-798d-4a9e-979c-22d0dc4a6bd5.txt

历史

传奇

  • 添加

  • 更正

  • 移除

rk 0.3

  • rk 和 rkscript 中的错误:~~user的初始组件未在路径中替换。

  • rk 中的错误:用户内核位置~/.ipython/kernels所需的超级用户(root)权限。

  • 使用“ssh”子命令设置 SSH 以实现无需密码的自动登录。

  • rkscript 中的错误:列表索引超出范围。

  • rk 日志文件中有关工作远程 jupyter 内核的信息。

  • 本地连接文件目录中的 paramiko 日志文件。

  • rkscript 中的错误:找不到记录器“paramiko.transport”的处理程序。

  • 在 rkscript 中通过 paramiko 进行本地端口转发,而不是通过 pexpect。

rk 0.2

  • 使用“uninstall-all”子命令从内核位置卸载所有 jupyter 内核。

  • 使用“卸载”子命令从内核位置卸载远程 jupyter 内核/内核。

  • 使用“安装”子命令将远程 jupyter 内核/内核从内核字典安装到内核位置。

  • 使用“install-all”子命令将所有远程 jupyter 内核从 kernels dict 安装到内核位置。

  • 使用“list”子命令显示来自 kernels dict 的远程 jupyter 内核列表。

脚注

项目详情


下载文件

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

源分布

rk-0.3b1.zip (144.5 kB 查看哈希

已上传 source

rk-0.3b1.tar.gz (141.9 kB 查看哈希

已上传 source