来自Windows XP上的emacs的ipython,没有提示,也没有打印输出

时间:2010-12-17 08:54:44

标签: python emacs ipython

我想在Windows XP上将ipython集成到emacs 23中。 我可以在网上找到相当多的信息,但没有做到这一点。

我的~/.emacs.d/init.el

需要以下内容
  • 蟒模式
  • pymacs
  • IPython的

也安装了pyreadline。

我使用bat文件(在我的系统路径中)使用标志-i和-u启动ipython。

信息文本

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 shell中的每个输出(不显示)。

2 个答案:

答案 0 :(得分:0)

确保您使用pyreadline 1.6。即使通过Emacs运行,1.5版也会使用控制台API写入流。这会导致许多类似于你所看到的问题。

答案 1 :(得分:0)

我相信它是Python解释器本身,而不是接收-u参数的ipython脚本,即您的文件C:\Program\Python27\scripts\ipython.bat应包含以下内容:

@C:\Program\Python27\python.exe -u C:\Program\Python27\scripts\ipython.py %*