【发布时间】:2016-08-20 20:09:47
【问题描述】:
我遵循(实际上是我编写的)this gist 中的说明来修改 SublimeREPL 附带的 ipy_repl.py 文件,以便使其与当时更新版本的 IPython 一起使用。不过,我最近pip 升级了我的 IPython 和 Jupyter 包
pip3 install -U ipython jupyter
到最新版本,现在尝试从 Sublime 启动 IPython 会话时出现此错误:
Traceback (most recent call last):
File "/home/mattdmo/.config/sublime-text-3/Packages/SublimeREPL/config/Python/ipy_repl.py", line 66, in <module>
embedded_shell.initialize()
File "<decorator-gen-113>", line 2, in initialize
File "/usr/local/lib/python3.5/dist-packages/traitlets/config/application.py", line 74, in catch_config_error
return method(app, *args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/jupyter_console/app.py", line 137, in initialize
self.init_shell()
File "/usr/local/lib/python3.5/dist-packages/jupyter_console/app.py", line 110, in init_shell
client=self.kernel_client,
File "/usr/local/lib/python3.5/dist-packages/traitlets/config/configurable.py", line 412, in instance
inst = cls(*args, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/jupyter_console/ptshell.py", line 252, in __init__
self.init_prompt_toolkit_cli()
File "/usr/local/lib/python3.5/dist-packages/jupyter_console/ptshell.py", line 404, in init_prompt_toolkit_cli
self.pt_cli = CommandLineInterface(app, eventloop=self._eventloop)
File "/usr/local/lib/python3.5/dist-packages/prompt_toolkit/interface.py", line 80, in __init__
self.output = output or create_output()
File "/usr/local/lib/python3.5/dist-packages/prompt_toolkit/shortcuts.py", line 124, in create_output
ansi_colors_only=ansi_colors_only, term=term)
File "/usr/local/lib/python3.5/dist-packages/prompt_toolkit/terminal/vt100_output.py", line 425, in from_pty
assert stdout.isatty()
AssertionError
我做了一点挖掘,在 2016 年 2 月上旬之后的某个时间点,prompt_toolkit 模块在 jupyter_console 中开始使用。虽然我认为这会给整个项目带来一些好处,但一个缺点是所有与jupyter_console 通信的文本接口都必须是 TTY(一个相当愚蠢的要求,IMO),而 Sublime 视图不是。
我无法找到解决此错误 功能的方法。有谁知道如何解决这个问题?
【问题讨论】:
标签: python ipython sublimetext jupyter sublimerepl