使用Spyder链接矩池云教程

使用Spyder链接矩池云教程

Spyder 是 Python(x,y) 的作者为它开发的一个简单的 IDE,在 Anaconda 中预装,适合进行数据科学开发。Anaconda 是 Python 发行版,包含了 Python 解释器,集成开发环境(IDE)Spyder,还有常用的科学包module等。

Spyder 支持连接远程服务器,本文将介绍如何在 Spyder 中连接矩池云机器。案例环境为 64 位 WIN10。

Spyder 远程服务仅支持 Python 3 及以上版本,若您选择 Python 2.7 的镜像则无法使用,敬请谅解。

1. 租用一台矩池云机器

矩池云提供网盘存储服务,您可先将数据集和脚本文件打包上传至网盘,提高上传速度,还能节省费用。本教程使用密码登录方式连接。

2. 在服务器端运行命令

在矩池云中,打开'我的租用'列表,找到租用的机器,点击 HTTP 链接,进入 JupyterLab。

点击列表中的 HTTP 链接

点击 JupyterLab 中的 Terminal 按钮,打开 Terminal。

点击 Terminal

2.1. 输入命令

jupyter --runtime-dir

该命令用以找到 Kernel 文件的路径。

找到 Kernel 文件路径

复制该命令的运行结果,/root/.local/share/JupyterLab/runtime,之后有用。

2.2. 输入命令

pip install spyder-kernels
pip install -U ipykernel
pip install ipython --ignore-installed ipython
python -m spyder_kernels.console

启动一个 Spyder Kernel。

找到 Kernel 文件名

复制该 Kernel 的文件名,即图中红框部分,例如,图中的 kernel-64.json

2.3. 保存 Kernel 文件至本地

现在我们知道了 Kernel 文件路径和文件名,将前面两步复制的信息拼接后,可以得到该文件路径。由于JupyterLab 中无法打开隐藏文件和文件夹,因此无法直接下载该 JSON 文件。

我们通过文件复制粘贴的方式,将文件保存下来。此时 Kernel 已启动,该 Terminal 无法再运行其他命令,我们需要新建一个 Terminal,让我们点击左上角的加号,回到 Launcher。

重新回到 Launcher

然后再次点击 Terminal 新建,在新的 Terminal 中用 cat 命令可查看 Kernel 文件。

cat /root/.local/share/JupyterLab/runtime/kernel-64.json

查看 JSON

复制该 JSON 。

在您本地桌面或其他位置,新建一个 kernel.json 文件。

新建本地文件

将该 JSON 复制进去然后保存。

复制JSON

3. 下载并安装 Spyder

下载 Spyder:Spyder 下载地址

按照提示安装即可。安装后启动 Spyder。

点击 Spyder

4. 在 Spyder 中配置链接

4.1. 安装 paramiko

在 Spyder 右下角的 IPython console 中,输入命令

!pip install paramiko
!pip install pyzmq
!pip install ipykernel

运行命令

运行成功后重启 Spyder。

4.2. 连接至远程服务器

在 IPython console 中,右键点击已有 Console 的 Tab,在下拉框中选择 Connect to an existing kernel。也可点击右侧的齿轮按钮,在设置的下拉菜单中找到。

连接入口

在配置页面中,Connection File 选项用以配置 Kernel 文件。点击右侧浏览按钮,找到刚刚保存的 kernel.json 文件。

将 This is a remote kernel 前面的复选框选中。填写信息如下:

Host(主机名):hz.matpool.com 或 hz-t2.matpool.com,请以您 SSH 链接中给定的域名为准。 Port(端口): 矩池云租用记录里 SSH 链接里冒号后的几位数字,例如 44039。 User(用户名):root。 Password(密码):您租用机器时填写的密码。 SSH Keyfile 可不填。

示例见图。

Spyder 4

如果您使用的是 Spyder 旧版本,填写信息会有些许不同:

Host Name:{用户名}@{主机名}:{您的端口号}。例如:root@hz.matpool.com:44039. Password:您租用矩池云机器时,填写的密码。 SSH Keyfile 可不填。

示例见图。

填写配置信息

点击 OK 开始连接。

当出现 root@hz.matpool.com 开头的 Kernel 时,意味着连接成功。

连接成功

5. 在 Spyder 中使用矩池云机器运行脚本

由于 Spyder 暂不支持文件同步功能,若直接点击 Run 按钮,在远程 Kernel 中会提示找不到文件。目前有两种办法可运行脚本。

5.1. 选中脚本运行

先选中本地要执行的脚本,然后选择菜单栏中的 'Run' - 'Run selection or current line',Spyder 会自动将脚本复制进 Kernel 里并执行。

选中

运行

运行结果

5.2. 手动输入

您可以在 IPython console里手动输入 Python 命令,或输入 !+Bash 命令,例如 !nvidia-smi 以查看显卡信息。

手动输入

5.3. 上传文件

由于 Spyder 暂不支持文件同步功能,若您需要引用数据集或文件,需要先使用网盘上传到矩池云,并修改脚本里的文件路径为远程文件的路径,并确认当前运行路径与远程目标路径一致。

例如,您要在脚本中执行 import modify 命令,但提示 modify 不存在,需要您先将 modify.py 文件上传到网盘,之后在 Spyder 中先输入 cd /mnt 命令进入网盘目录中,再运行脚本,此时脚本才能找到 modify.py 文件。

同理,若您上传了 dataset.tar.gz 数据集到网盘根目录中,需要在脚本中使用该数据集,则须在脚本内,将数据集的读取路径改为 /mnt/dataset.tar.gz

客服