Emacs中的Python解释器重复行

Emacs中的Python解释器重复行,python,emacs,Python,Emacs,正在发生的事情: >>> 2 * 10 2 * 10 20 >>> 我想发生的事: >>> 2 * 10 20 >>> 有人知道为什么命令在执行前打印出来,以及如何阻止它这样做吗?我找不到关于这个的任何文档。我在MacOSX和Python2.7上使用Emacs23 我不使用python,但我猜您正在使用的python功能设置变量comint进程回显不正确。无论缓冲区中的值是什么,只要反转布尔值即可 Comint是Em

正在发生的事情:

>>> 2 * 10
2 * 10
20
>>> 
我想发生的事:

>>> 2 * 10
20
>>> 

有人知道为什么命令在执行前打印出来,以及如何阻止它这样做吗?我找不到关于这个的任何文档。我在MacOSX和Python2.7上使用Emacs23

我不使用python,但我猜您正在使用的python功能设置变量
comint进程回显不正确。无论缓冲区中的值是什么,只要反转布尔值即可

Comint是Emacs中的一个支持库,用于在Emacs中运行低级进程。它与提示交互,需要告诉python shell(或M-XShell)关于echo特性的信息

在出现问题的shell缓冲区中,执行以下操作:

M-: (setq comint-process-echoes t)  ;; or nil

您是如何开始Python进程的<代码>运行python
python shell
?另一种方法是从
ansi术语开始,然后在它里面
ipython
。我不知道ansi术语。我一直在使用M-x外壳,所以谢谢你。这对我也很有用!我想知道你是否能帮助我在每次python启动时在钩子中运行它?@Eric我在ubuntu的Emacs上使用Elpy我确实有同样的问题,但这个解决方案不起作用。你能帮我解决吗?我已经找到了解决方案,将变量Elpy shell echo input设置为nil