问题 Emacs中的Python解释器重复行


发生什么事:

>>> 2 * 10
2 * 10
20
>>> 

我想要发生什么:

>>> 2 * 10
20
>>> 

有没有人知道为什么命令在执行之前打印出来以及如何阻止它执行此操作?我找不到任何关于此的文档。我在Mac OS X上使用Emacs 23和Python 2.7。


4252
2017-11-09 05:10


起源

你是如何开始Python过程的? run-python, python-shell? - harto
另一种方式是开始 ansi-term 接着 ipython 在里面。 - Maxim Egorushkin
好吧,我不知道ansi-term。我一直在使用M-x shell,谢谢你。 - methodmain


答案:


我不使用python,但我猜你正在使用的python功能设置了变量 comint-process-echoes 不正确。无论缓冲区中的值是什么,只需反转布尔值即可。

Comint是Emacs中的一个支持库,用于在Emacs中运行劣质进程。它与提示交互,需要告诉python shell(或M-x shell)有关回声功能。

在有问题的shell缓冲区中,执行:

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

10
2017-11-20 01:24



谢谢。这样做了。 - methodmain
这对我也有用!我想知道你是否可以提供帮助 我的问题 关于每次python启动时在钩子中运行它? - alexplanation
@Eric我在ubuntu上的Emacs上使用Elpy我有同样的问题,但这个解决方案不起作用。可以帮帮我 - Nithin Varghese
我通过设置变量找到了解决方案 elpy壳回声输入 没有 - Nithin Varghese