我对 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。