我对 IPython 与 Emacs 的集成感到困惑。从 Emacs 24 开始,Emacs 附带了它自己的python.el. 该文件是否支持 IPython 或仅支持 Python?
此外,Emacswiki讨论了一个名为的文件IPython.el(尽管它提供的链接:http: //ipython.scipy.org/dist/ipython.el返回 404 错误)。该文件与 Emacs 24' 兼容python.el还是仅适用于python-model.el?
我对 IPython 与 Emacs 的集成感到困惑。从 Emacs 24 开始,Emacs 附带了它自己的python.el. 该文件是否支持 IPython 或仅支持 Python?
此外,Emacswiki讨论了一个名为的文件IPython.el(尽管它提供的链接:http: //ipython.scipy.org/dist/ipython.el返回 404 错误)。该文件与 Emacs 24' 兼容python.el还是仅适用于python-model.el?
新的python.el(随 Emacs 版本 24.3 提供)确实支持 IPython。您需要将以下行添加到init.el文件中(从 复制的说明python.el):
(require 'python)
(setq
python-shell-interpreter "ipython"
python-shell-interpreter-args "--pylab"
python-shell-prompt-regexp "In \\[[0-9]+\\]: "
python-shell-prompt-output-regexp "Out\\[[0-9]+\\]: "
python-shell-completion-setup-code
"from IPython.core.completerlib import module_completion"
python-shell-completion-module-string-code
"';'.join(module_completion('''%s'''))\n"
python-shell-completion-string-code
"';'.join(get_ipython().Completer.all_completions('''%s'''))\n")
这适用于 Linux(我正在运行 Ubuntu 12.04),在 Windows 上可能需要进行一些额外的修改(有关详细信息,请查看init.el源代码)。
但是,您不应该使用(ipython.el它与 IPython 包一起分发),因为它显式依赖于python-mode.el(至少安装在我的系统上的 IPython 0.12.1 就是这种情况)。
不确定股票 python.el,因为我正在运行 python-mode.el,其中有 ipython 支持。但是我只是看了看随我的 Emacs 24 一起安装的 python.el 源代码,它里面有一些对 ipython 的引用,所以它似乎确实支持 ipython。
Emacs 早在 emacs 22 就附带了 python.el。我正在使用并依赖它来构建我需要的其余 python 编辑功能。
不幸的是,有人写了一个新的 python.el 并且维护者(他们都没有大量使用 python 模式)可以在即将到来的 24.3 中替换现有的和工作的 python.el。他们打算以向后兼容的方式来做这件事,可悲的是,它落在了相反的一边。
python.el从 24.3 之前开始支持运行 ipython。