SublimeREPL: OSError: [WinError 6] The handle is invalid

SublimeREPL: OSError: [WinError 6] The handle is invalid

我在 SublimeREPL 中使用 R,但无法将我的代码发送到 R 会话。这是我正在使用的键绑定:

{ "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "selection"}},
{ "keys": ["ctrl+enter"], "command": "repl_transfer_current", "args": {"scope": "selection", "action":"view_write"}},

{ "keys": ["ctrl+alt+enter"], "command": "repl_transfer_current", "args": {"scope": "lines"}},
{ "keys": ["ctrl+alt+enter"], "command": "repl_transfer_current", "args": {"scope": "lines", "action":"view_write"}},

这是 Sublime 的日志:

command: repl_transfer_current {"action": "view_write", "scope": "selection"}
Traceback (most recent call last):
  File "C:\Program Files\Sublime Text 3\sublime_plugin.py", line 1066, in run_
    return self.run(edit, **args)
  File "C:\Users\~\AppData\Roaming\Sublime Text 3\Packages\SublimeREPL\text_transfer.py", line 132, in run
    for rv in manager.find_repl(external_id):
  File "C:\Users\~\AppData\Roaming\Sublime Text 3\Packages\SublimeREPL\sublimerepl.py", line 470, in find_repl
    if not (rv.repl and rv.repl.is_alive()):
  File "C:\Users\~\AppData\Roaming\Sublime Text 3\Packages\SublimeREPL\repls\subprocess_repl.py", line 209, in is_alive
    return self.popen.poll() is None
  File "./python3.3/subprocess.py", line 930, in poll
  File "./python3.3/subprocess.py", line 1145, in _internal_poll
OSError: [WinError 6] The handle is invalid

基于this线程,我通过将subprocess_repl.py中的is_alive设置为return True而不是调用self.popen.poll()解决了这个问题。

def is_alive(self):
    # return self.popen.poll() is None
    return True