2009-03-22 6 views
12

Si ejecuté una línea larga en IPython, e intento recuperarla (utilizando la flecha hacia arriba) o retroceder más allá del inicio de la línea actual, se muestra incorrectamente (todo se mezcla en uno) línea)Problemas de alineamiento de líneas con shell de IPython

Por ejemplo, en la siguiente sesión que escribí una larga línea [1], entró en una línea algo de jarro [2], luego hacia arriba-arrowed dos veces para obtener la declaración print en la línea [3], y ocurrió lo siguiente:

Line wrap issue

Happ tanto en iTerm como en Terminal.app. Tuve un problema similar con las sesiones de terminal habituales, que se solucionó cancelando correctamente los códigos de color, pero no estoy seguro de cómo solucionarlo con IPython

+0

Este problema me persiguió durante taaaaan largo .... No me di cuenta hasta ahora, que IPython causado esto. Intenté "reiniciar", "tput", "shopt -s checkwinsize", restablecer PS1, tmux resize-pane, escape chars magic, pero todo en vano. Ahora sé que solo se produce si se ha invocado IPython desde TMux, se ha cancelado el protocolo IPython o se ha enviado al fondo (CTRL + Z). – Andor

Respuesta

11

Aha! Tenía una versión anterior del módulo de lectura de Python, ¡instalando la última desde http://ipython.scipy.org/dist/ y funciona perfectamente!

sudo easy_install http://ipython.scipy.org/dist/readline-2.5.1-py2.5-macosx-10.5-i386.egg 
+0

Asegúrate de usar easy_install, no pip. Intenté "pip install readline" y mientras readline estaba instalado, todavía tenía el problema con ipython. Desinstalé, luego usé easy_install y resolví el problema. – Brian

+1

Acabo de intentarlo, '' pip install readline'' ahora funciona bien y resolvió el problema para mí .. – redShadow

+0

En mi instalación de Linux Mint 'pip install readline' requería que primero instalara libncurses con' apt-get install libncurses5-dev' . – LondonRob

1

No puedo reproducir TI (obras de flecha hacia arriba para líneas largas en ipython):

ipython up-arrow long line

+0

:/Eso es realmente molesto, he intentado deshabilitar cualquier personalización de perfil, usando la última versión estable (ipython 0.9.1), dos máquinas diferentes, usando diferentes perfiles de terminal ... ¿Qué terminal emulador/shell/python/ipython versión etc. son estás usando? – dbr

+0

¡No importa el comentario anterior! – dbr

2

Tengo este problema en Snow Leopard. La instalación de una nueva versión de readline de http://pypi.python.org/pypi/readline/ lo fija:

sudo easy_install http://pypi.python.org/packages/2.6/r/readline/readline-2.6.4-py2.6-macosx-10.6-universal.egg 
+0

Mi stock Snow Leopard tiene python2.6.1 y la versión 2.6.4 no funcionó. Además, aquí está el enlace para usar un espejo alternativo ya que el pypi principal es lento últimamente. sudo easy_install http://d.pypi.python.org/packages/2.6/r/readline/readline-2.6.1-py2.6-macosx-10.6-universal.egg –

+0

Buenos puntos. Debo añadir que estoy usando la versión MacPorts de python: ejecutar 'python_select -s' devuelve 'python26' en lugar de 'python26-apple', que aparece en 'python_select -l'. – aam

Cuestiones relacionadas