2009-03-22 9 views
12

Se ho eseguito una lunga linea in IPython e provo a richiamarla (usando la freccia su) o backspace oltre l'inizio della linea corrente, essa viene visualizzata in modo non corretto (tutto immerso in una line)Problemi di avvolgimento della linea con la shell IPython

ad esempio, nella sessione seguente ho scritto una lunga fila [1], entrò una linea un po 'a bruciapelo [2], poi su-arrowed due volte per ottenere la dichiarazione print on line [3], e il seguente accaduto:

Line wrap issue

Happ ens in iTerm e Terminal.app .. Ho avuto un problema simile con sessioni di terminale regolari, che è stato corretto terminando correttamente i codici colore, ma non sono sicuro di come risolverlo con IPython

+0

Questo problema mi ha perseguitato per tremendamente lungo .... non ho capito fino ad ora, che IPython causato questo. Ho provato "reset", "tput", "shopt -s checkwinsize", reset PS1, tmux ridimensiona-riquadro, escape chars magic, ma tutto invano. Ora so, che si verifica solo se IPython è stato richiamato da TMux e IPython è stato ucciso o inviato in background (CTRL + Z). – Andor

risposta

11

Aha! Ho avuto una vecchia versione del modulo readline Python - l'installazione più recente da http://ipython.scipy.org/dist/ e funziona perfettamente!

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

Assicurati di usare easy_install, non pip. Ho provato "pip install readline" e mentre readline installato, ho ancora avuto il problema con ipython. Ho disinstallato, quindi ho usato easy_install e risolto il problema. – Brian

+1

Appena provato, '' pip installa readline'' ora funziona bene e ho risolto il problema per me .. – redShadow

+0

Nella mia installazione di Linux Mint 'pip install readline' mi ha richiesto di installare prima libncurses con' apt-get install libncurses5-dev' . – LondonRob

1

Non riesco a riprodurre IT (up-freccia lavori per le linee lunghe in ipython):

ipython up-arrow long line

+0

:/È davvero fastidioso, ho provato a disabilitare qualsiasi personalizzazione del profilo, usando l'ultima versione stabile (ipython 0.9.1), due macchine diverse, usando diversi profili di terminale .. Quali sono le versioni terminale di emulatore/shell/python/ipython ecc. stai usando? – dbr

+0

Non importa il commento di cui sopra! – dbr

2

Hai riscontrato questo problema su Snow Leopard. L'installazione di una nuova versione di readline da http://pypi.python.org/pypi/readline/ lo fissa:

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

My stock Snow Leopard ha python2.6.1 e la versione 2.6.4 non ha funzionato. Inoltre, ecco il link per utilizzare uno specchio alternativo poiché il Pypi principale è lento ultimamente. 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

Buoni punti. Dovrei aggiungere che sto usando la versione MacPorts di python - l'esecuzione di "python_select -s" restituisce "python26" invece di "python26-apple", che compare in "python_select -l". – aam