我想在Windows XP上将ipython集成到emacs 23中。 我可以在网上找到相当多的信息,但没有做到这一点。
我的~/.emacs.d/init.el
:
也安装了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中的每个输出(不显示)。
答案 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 %*