2011-11-09 15 views
11

lo que está sucediendo:Python Interpreter en Emacs repite líneas

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

Lo que quiero que suceda:

>>> 2 * 10 
20 
>>> 

¿Alguien sabe por qué el comando se imprime antes de ser ejecutado y cómo detenerlo de hacer eso? No puedo encontrar ninguna documentación sobre esto. Estoy usando Emacs 23 en Mac OS X con Python 2.7.

+2

¿Cómo estás empezando el proceso de Python? 'run-python',' python-shell'? – harto

+2

Otra forma es iniciar 'ansi-term' y luego' ipython' dentro de él. –

+0

Bueno, no sabía acerca de ansi-term. He estado usando M-x shell así que gracias por eso. – methodmain

Respuesta

10

No uso python, pero supongo que la función de python que está utilizando ha establecido la variable comint-process-echoes incorrectamente. Cualquiera que sea el valor en su búfer, simplemente invierta el valor booleano.

Comint es una biblioteca de soporte en Emacs para ejecutar procesos inferiores en Emacs. Interactúa con las solicitudes, y el shell de python (o el shell M-x) necesita ser informado acerca de la función de eco.

En el búfer de la shell con el problema, hacer:

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

Gracias. Eso lo hizo. – methodmain

+2

¡Esto también funciona para mí! Me pregunto si puede ayudar con [mi pregunta] (http://stackoverflow.com/questions/9830729/emacs-python-echoing-hooks-and-org-mode) que se refiere a ejecutar esto en un gancho cada vez que se inicia python ? – alexplanation

+0

@Eric Estoy usando Elpy en Emacs en Ubuntu Tengo el mismo problema pero esta solución no funciona. Puede ayudarme –