本地 spyder 连接 linux 远程服务器

    如果你在服务器上面已经安装了 anaconda,但是想在本地通过 spyder 调试 python 代码,那么就需要将本地的 spyder 远程连接到服务器上面。其原理在于服务器上面开个 kernel,然后让 spyder 连接到。

    我用的是 anaconda3.5、python3.6,在这个过程当中我踩了一些坑,结合步骤共享如下:

服务器终端输入:

python -m spyder_kernels.console

如果出现如下报错1:

  • ModuleNotFoundError: No module named 'IPython.core.inputtransformer2'

则重新安装 ipython,输入:

pip install spyder-kernels

安装后依然出现报错1,则重新安装 ipython,输入:

pip install ipython --ignore-installed ipython

接下去,如果出现报错2:

  • ImportError: cannot import name 'AsyncGenerator'

是因为 prompt-toolkit 版本过高,安装一个低版本的,输入:

pip install prompt-toolkit==2.0.10

另外,确保本地和服务器上都安装了 paramiko(此包用于连接 ssh),如果没有,则输入:

pip install paramiko

此时,回到最初,服务器输入 python -m spyder_kernels.console 后,出现如下信息:

                      本地 spyder 连接 linux 远程服务器_第1张图片

    在用户目录下找到对应的 json 文件(一般位于:/home/用户/.local/share/jupyter/runtime/),拷贝到本地。

    然后让本地的 spyder 连接一个存在的 kernel,如下图: 

                                   本地 spyder 连接 linux 远程服务器_第2张图片

     注意:

    host name的信息填写:用户名@主机的ip:登录的端口;ssh key 可以不填写,密码是用户名密码。

 

    我最后发现这其实和远程登录服务器后直接使用终端没什么区域,左侧代码区和右侧的远程 ipython 不连通。所以,最好的方法还是 windows 映射 linux 磁盘驱动,这样既方便数据交互也方便代码调试。

你可能感兴趣的:(深度学习,Linux)