远程 jupyter 内核/内核管理实用程序
项目描述
目录
安装
从 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 .
快速开始
首先,确保您可以在不输入密码的情况下登录到远程机器。该命令最基本的形式是:
$ 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_host到albert@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.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 的显示名称,
python2,python3 - 远程机器上的入口点,
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-keygen、ssh-copy-id和ssh-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的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 81e79edf16a82408f64604dd30903d48edef1f458df5ba5e2b97f3158cc8cc8f |
|
| MD5 | 499fc567fab671767f0950a3ad477bf0 |
|
| 布莱克2-256 | 5c30f5d0a51e59e7186f52a80b48e956dd305c9caeabb41e8c4ad469d4adbaba |