簡體   English   中英

我如何使用IPython作為我的Emacs Python解釋器?

[英]How do I use IPython as my Emacs Python interpreter?

我在OS X上運行Emacs 22.1.1和IPython 0.9.1,我希望能夠在IPython解釋器中根據需要從當前緩沖區運行Python代碼的行/方法/片段。

為了讓這個工作,我需要做什么?

ipython也不會加載與emacs 23.1.1一起使用的官方python.el

這個版本的emacs for mac:

http://emacsformacosx.com

隨附package.el預裝。 這允許您自動安裝emacs包。 有一個名為ein的包:

http://tkf.github.io/emacs-ipython-notebook/

這使得從emacs(包括筆記本)與ipython交互變得容易。

但是,從上面的emacs版本24.3開始,ein不在默認包存儲庫中。 如果您添加更多存儲庫,則按照:

http://www.emacswiki.org/emacs/ELPA

即,將其添加到〜/ .emacs文件中:

(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
                     ("marmalade" . "http://marmalade-repo.org/packages/")
                     ("melpa" . "http://melpa.milkbox.net/packages/")))

然后打電話

M-x package-refresh-contents

你現在可以添加ein:

M-x package-install <ret> ein

唉MELPA版本的ein不適用於ipython> 1.x所以如果你使用ipython 2.x,你需要更新的ein版本:

https://github.com/tkf/emacs-ipython-notebook/issues/137

所以克隆:

git clone https://github.com/millejoh/emacs-ipython-notebook.git

將lisp子目錄復制到某個合理的位置:

cp -r emacs-ipython-notebook/lisp ~/.emacs.d/einv2

然后將其添加到您的emacs加載路徑並加載它,將其添加到〜/ .emacs:

(add-to-list 'load-path "~/.emacs.d/einv2")
  (require 'ein)

最后,擺脫舊的ein,這將留下依賴關系:

M-x package-list-packages

滾動到包列表中的ein,然后:

M-x package-menu-mark-delete
M-x package-menu-execute

重新啟動emacs,您可以連接到您的ipython筆記本服務器:

M-x ein:notebooklist-open

python-mode.el原生支持IPython。

只要確保shebang不指向另一個翻譯。

在這種情況下:

  • 要么調用一個結尾為“-ipython”的命令,它會覆蓋shebang
  • 自定義“ipython”作為默認解釋器並設置`py-force-py-shell-name-p'。 這也可以通過菜單Python /.../ Switches來完成

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM