IPython 4 shell 与 Sublime REPL 不兼容。

7

我在使用Sublime REPL包运行IPython shell时遇到问题。

这是我得到的结果:

C:\Anaconda\lib\site-packages\IPython\config.py:13: ShimWarning: 
The`IPython.config` package has been deprecated. You should import from 
traitlets.config instead.
"You should import from traitlets.config instead.", ShimWarning)

C:\Anaconda\lib\site-packages\IPython\terminal\console.py:13: ShimWarning:  
The `IPython.terminal.console` package has been deprecated. You should 
import from jupyter_console instead.
"You should import from jupyter_console instead.", ShimWarning)

C:\Anaconda\lib\site-packages\IPython\frontend.py:21: ShimWarning: The top-
level `frontend` package has been deprecated. All its subpackages have been 
moved to the top `IPython` level.
"All its subpackages have been moved to the top `IPython` level.", 
ShimWarning)

Traceback (most recent call last):
File "C:\Users\Vladimir\AppData\Roaming\Sublime Text 
3\Packages/SublimeREPL/config/Python/ipy_repl.py", line 45, in <module>
from IPython.frontend.terminal.console.app import ZMQTerminalIPythonApp
ImportError: No module named app

有没有人有解决方法可以修复这个问题?我已经安装了最新版本的pyzmq并在Python 2.7.10-0下运行。

1个回答

14
随着IPython 4.0的发布,其结构已经完全改变,现在实现为Jupyter核心的内核,能够使用多种不同的语言(而不仅仅是Python)来运行类似于IPython的会话。然而,IPython仍是“参考实现”。
随着这些变化,内部API也发生了相当大的变化,有些部分已经移动/重命名或者干脆不存在了。我在Github上制作了更新SublimeREPL以适配IPython 4的完整说明,但我在这里将介绍关键部分。
你需要做的第一件事是确保你拥有IPython和Jupyter的所有组件,因为它已经从一个庞大的包中分裂成了许多较小的包。执行以下操作:
[sudo] pip install -U ipython jupyter

通过命令行获取所有组件 - 无需编译器。sudo用于Unix/Linux系统并需要管理员权限访问,-U标志与--upgrade相同。

完成后,打开Sublime并选择Preferences → Browse Packages…以在操作系统的文件浏览器应用程序(Finder、Windows Explorer、Nautilus等)中打开您的Packages文件夹。打开SublimeREPL文件夹,然后打开config文件夹,再打开Python文件夹,最后在Sublime中打开ipy_repl.py文件。删除其全部内容,并使用上面链接中包含的文件替换它(点击此处获取原始的复制粘贴版本)。

保存包含新内容的ipy_repl.py,完成!您现在可以以通常的方式打开IPython REPL,并将看到:

Jupyter Console 4.0.2

[ZMQTerminalIPythonApp] Loading IPython extension: storemagic

In [1]: 

如果你想要去除 [ZMQTerminalIPythonApp] 这个信息,可以查看此指南中的说明。但是这个信息并不影响程序运行,如果你愿意,可以安全地忽略它。

祝你好运!

注意: 这些更改已经被提交到主 SublimeREPL 项目作为 pull requests,但由于作者已经有一段时间没有更新插件了,所以可能需要一段时间才能成为主分支的一部分。


感谢详细的说明。现在我明白了以下内容: - Volodymyr Kruglov
[ZMQTerminalIPythonApp] 正在加载 IPython 扩展:storemagic Jupyter Console 4.0.2 C:\Anaconda\python.EXE: 模块使用 python26.dll 与此 Python 版本冲突;'ipykernel' 是一个包,不能直接执行。 - Volodymyr Kruglov
@VolodymyrKruglov 你使用的是哪个版本的Python?pip用来安装IPython和Jupyter的版本是什么? - MattDMo
@VolodymyrKruglov 抱歉,我刚看到你正在使用2.7.10。你有2.6的安装包吗? - MattDMo
如果可能的话,我可能会安装一个,但更愿意不安装。 - Volodymyr Kruglov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接