Emacs 24.x上的IPython支持

时间:2012-11-16 18:53:25

标签: python emacs ipython

我对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一起使用?

3 个答案:

答案 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。