我對IPython與Emacs的集成感到困惑。從Emacs 24開始,Emacs自帶了python.el
。此文件是否支持IPython或僅支持Python?對Emacs 24.x的IPython支持
此外,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?對Emacs 24.x的IPython支持
此外,Emacswiki談到一個名爲IPython.el
(儘管它提供的鏈接:http://ipython.scipy.org/dist/ipython.el返回404錯誤)的文件。該文件是否與Emacs 24'python.el
兼容,還是僅與python-model.el
兼容?
新的python.el
(附帶Emacs 24.3版本)確實支持IPython。您需要將下面的行添加到您的文件(從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上一些額外的修改(有關詳細信息,檢查源)。
但是,你應該不使用ipython.el
(與IPython的包分配),因爲它明確地取決於python-mode.el
(至少這是與它安裝在我的系統上的IPython 0.12.1的情況下)。
由於我正在運行python-mode.el,它具有ipython支持,所以不能確定股票的python.el。但我只是看了一下用Emacs 24安裝的python.el源代碼,它裏面有幾個對ipython的引用,所以它似乎支持ipython。
從emacs 22開始,Emacs自帶了python.el。這就是我正在使用的,依靠構建我需要的其他python編輯功能。
不幸的是,有人寫了一個新的python.el和維護者(他們都沒有使用python模式)確定它替換了即將到來的24.3中的現有和工作python.el。他們會以向後兼容的方式做到這一點,可悲的是,落在對面。
python.el
從24.3開始支持運行ipython。