【问题标题】:spyder and remote ssh python intepreterspyder 和远程 ssh python 解释器
【发布时间】:2014-10-20 21:55:17
【问题描述】:

我有一个 ubuntu 服务器,我可以在其中使用 ssh 连接运行 python 解释器。 我想将解释器链接到我的一个 IDE。

spyder 是否支持远程 ssh 解释器?如果不是,什么是可能的免费替代方案?

编辑: 使用新版本的 spyder 似乎可以连接到远程 shell。 但是当我尝试连接时收到此错误

>>> Traceback (most recent call last):
  File "/home/donbeo/Applications/spyder-ide-3.4dev/spyderlib/plugins/ipythonconsole.py", line 973, in create_client_for_kernel
    self._create_client_for_kernel(cf, hostname, kf, pw)
  File "/home/donbeo/Applications/spyder-ide-3.4dev/spyderlib/plugins/ipythonconsole.py", line 1007, in _create_client_for_kernel
    if not self.kernel_and_frontend_match(cf):
  File "/home/donbeo/Applications/spyder-ide-3.4dev/spyderlib/plugins/ipythonconsole.py", line 898, in kernel_and_frontend_match
    profile='default')
  File "/usr/lib/python2.7/dist-packages/IPython/kernel/connect.py", line 273, in get_connection_info
    info = json.loads(info)
  File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
Traceback (most recent call last):
  File "/home/donbeo/Applications/spyder-ide-3.4dev/spyderlib/plugins/ipythonconsole.py", line 973, in create_client_for_kernel
    self._create_client_for_kernel(cf, hostname, kf, pw)
  File "/home/donbeo/Applications/spyder-ide-3.4dev/spyderlib/plugins/ipythonconsole.py", line 1007, in _create_client_for_kernel
    if not self.kernel_and_frontend_match(cf):
  File "/home/donbeo/Applications/spyder-ide-3.4dev/spyderlib/plugins/ipythonconsole.py", line 898, in kernel_and_frontend_match
    profile='default')
  File "/usr/lib/python2.7/dist-packages/IPython/kernel/connect.py", line 273, in get_connection_info
    info = json.loads(info)
  File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

【问题讨论】:

    标签: python spyder


    【解决方案1】:

    Spyder 的开发版本支持连接到远程 IPython 内核(它可以是 IPython notebook 的内核)。这个功能将成为 Spyder 的下一个次要版本 2.3.1 的一部分,希望在几周内。您可以通过从源代码运行 Spyder 来使用它。

    这是最近合并的相应 Pull Request 的链接:Spyder Pull Request

    编辑:关于您的编辑(错误解码连接信息文件)。您的连接文件似乎不是有效的 json。能给我们介绍一下内容吗?通常,它应该是这样的:

    {
      "stdin_port": 59658, 
      "ip": "your remote server ip", 
      "control_port": 61601, 
      "hb_port": 43475, 
      "signature_scheme": "hmac-sha256", 
      "key": "333b4408-49f8-4966-a61a-a9e64b1b29e5", 
      "shell_port": 52767, 
      "transport": "tcp", 
      "iopub_port": 57661
    }
    

    【讨论】:

    • 你认为这个功能会在几周后包含在 pip 版本中吗?
    • @Donbeo 没有确切的日期,但是从源代码运行 spyder 非常简单:安装 mercurial,克隆存储库并运行 python bootstrap.py。
    • 如果您认为这是您问题的正确答案,请验证答案。
    • 我没有时间尝试解决方案。一旦我可以确认这项工作,我将接受答案
    猜你喜欢
    • 2017-12-20
    • 2019-04-18
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    • 2016-10-16
    • 1970-01-01
    相关资源
    最近更新 更多