2011-11-09 42 views
11

正在發生的事情:Python解釋器重複線路

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

我希望發生什麼:

>>> 2 * 10 
20 
>>> 

有誰知道爲什麼命令被執行之前打印出來,以及如何阻止它從那樣做?我找不到任何關於此的文檔。我在Python 2.7上使用Mac OS X上的Emacs 23。

+2

你是如何開始的Python程序? 'run-python','python-shell'? – harto

+2

另一種方法是在裏面啓動'ansi-term'和'ipython'。 –

+0

嗯,我不知道ansi-term。我一直在使用M-x shell,所以非常感謝。 – methodmain

回答

10

我不使用python,但我猜測你正在使用的python特性已經錯誤地設置了變量comint-process-echoes。無論緩衝區中的值是什麼,只需顛倒布爾值即可。

Comint是Emacs中的一個支持庫,用於在Emacs中運行劣質進程。它與提示進行交互,並且需要了解python shell(或M-x shell)的回顯功能。

在這個問題你的shell緩衝區,這樣做:

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

謝謝。那樣做了。 – methodmain

+2

這也適用於我!我不知道你是否可以幫助[我的問題](http://stackoverflow.com/questions/9830729/emacs-python-echoing-hooks-and-org-mode),每次python啓動時,它都會在鉤子中運行它? – alexplanation

+0

@Eric我在ubuntu上使用Emacs上的Elpy我確實有同樣的問題,但是這個解決方案沒有工作。可以幫我解決 –