ipython из Emacs на Windows XP, без приглашения и без вывода на печать - PullRequest
4 голосов
/ 17 декабря 2010

Я хочу интегрировать ipython в emacs 23, на Windows XP. Я мог найти достаточно информации в Интернете, но ничего не помогло.

В моем ~/.emacs.d/init.el требуется следующее:

  • питон-режим
  • pymacs
  • IPython

pyreadline также установлен.

Я запускаю ipython с файлом bat (в моем системном пути) с флагами -i и -u.

Информационный текст

c:\Program\emacs-23.2\bin>c:\program\python27\scripts\ipython -i -u

Python 2.7 (r27:82525, Jul  4 2010, 09:01:59) [MSC v.1500 32 bit (Intel)]
Type "copyright", "credits" or "license" for more information.

IPython 0.10.1 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object'. ?object also works, ?? prints more.

не появляется, пока я не напишу первую команду.

Я не получил подсказку. Запись и «выполнение» чисел приводят к красному «Out[n]:» и номеру. Print ничего не дает. a дает красочный текст об ошибке ipython, заканчивающийся NameError: name 'a' not defined.

Другими словами, поток ошибок выглядит нормально, стандартный вывод выглядит нормально, но print и все, что отвечает за печать приглашения, не может найти правильный поток.


Emacs *Message* Буфер говорит:

comint-send-string: Output file descriptor of Python<1> is closed

для каждого вывода (не появляется) в оболочке python.

Ответы [ 2 ]

0 голосов
/ 04 января 2011

Я считаю, что сам интерпретатор Python, а не скрипт ipython, должен получать параметр -u, т. Е. Ваш файл C:\Program\Python27\scripts\ipython.bat должен содержать что-то вроде:

@C:\Program\Python27\python.exe -u C:\Program\Python27\scripts\ipython.py %*
0 голосов
/ 18 декабря 2010

Убедитесь, что вы используете pyreadline 1.6 . Версия 1.5 записывает в поток, используя консольный API, даже при запуске через Emacs. Это вызывает много проблем, похожих на те, которые вы видите.

...