2014-08-27 279 views
1

我有一個ubuntu服務器,我可以使用ssh連接運行python解釋器。 我想將解釋器鏈接到我的IDE之一。spyder和遠程ssh python intepreter

spyder是否支持遠程ssh intepreter?如果不是什麼是可能的免費選擇?

編輯: 隨着spyder的新版本,它似乎有可能連接到遠程外殼。 但是當我嘗試連接我收到此錯誤

>>> 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 

回答

2

的Spyder的開發版本支持遠程IPython的內核連接(也可能是一個IPython的筆記本電腦的一個)。這個功能將成爲Spyder 2.3.1的下一個次要版本的一部分,希望在幾個星期內完成。您可以通過從源代碼運行Spyder來使用它。

以下是最近合併的相應合併請求的鏈接: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 
} 
+0

您認爲這個功能將在幾周內被包含在pip版本中嗎? – Donbeo 2014-08-29 09:52:49

+0

@Donbeo沒有確切的日期,但從源代碼運行spyder非常簡單:安裝mercurial,克隆存儲庫並運行python bootstrap.py。 – Quant 2014-08-29 13:22:00

+0

如果您認爲這是對您問題的正確答案,請驗證答案。 – Quant 2014-08-29 15:49:03