Как мне использовать IPython в качестве интерпретатора Emacs Python? - PullRequest
11 голосов
/ 03 декабря 2008

Я использую Emacs 22.1.1 и IPython 0.9.1 на OS X, и я хотел бы иметь возможность запускать строки / методы / фрагменты кода Python из моего текущего буфера по запросу внутри интерпретатора IPython. *

Что мне нужно сделать, чтобы это работало?

Ответы [ 3 ]

4 голосов
/ 15 октября 2014

Эта версия Emacs для Mac:

http://emacsformacosx.com

поставляется с предварительно установленным package.el. Это позволяет вам автоматически устанавливать пакеты emacs. Существует пакет под названием ein:

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

, что облегчает взаимодействие с ipython из emacs (включая ноутбуки).

Однако, начиная с версии 24.3 emacs выше, 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

увы, версия ein для MELPA не работает с 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
4 голосов
/ 22 октября 2009

также ipython не загружается с официальным python.el, используемым с emacs 23.1.1

0 голосов
/ 15 октября 2014

python-mode.el изначально поддерживает IPython.

Просто убедитесь, что Шебанг не указывает на другого переводчика.

В этом случае:

  • либо вызовите команду с окончанием "-ipython", которая переопределит shebang
  • настроить «ipython» как интерпретатор по умолчанию и установить «py-force-py-shell-name-p» Это может быть сделано также через меню Python /.../ Выключателей 1010 *
...