我对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
一起使用?
答案 0 :(得分:7)
新的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安装在我的系统上。)
答案 1 :(得分:1)
不确定股票python.el因为我正在运行python-mode.el,它有ipython支持。但是我刚刚看了一下python.el源码,它们已经安装了我的Emacs 24,并且它里面有一些对ipython的引用,所以它似乎支持ipython。
答案 2 :(得分:1)
Emacs早在emacs 22就附带了python.el。我正在使用它并依赖于构建我需要的其余python编辑功能。
不幸的是有人写了一个新的python.el和维护者(他们都没有大量使用python模式)确定它将在即将到来的24.3中替换现有的和正在运行的python.el。他们打算以向后兼容的方式做到这一点,遗憾的是,它落在了对面。
来自24.3之前的 python.el
支持运行ipython。