2012-04-13 11 views
22

Sto usando python 2.6 in un virtualenv su una macchina Ubuntu Linux 11.04 (natty). Ho questo codice nel mio codice (django) python:Python debugger (pdb) ha smesso di usare le frecce su/giù, mostra^[[A invece

import pdb ; pdb.set_trace() 

al fine di lanciare il debugger Python (PPB).

Fino a oggi, questo ha funzionato bene. Ma ora, quando il pdb si avvia, funziona per il debug, i punti di esecuzione, ecc., Ma quando premo la freccia su per mostrare il comando precedente, stampa ^[[A invece non sale. Quando digito qualcosa e preme Home, stampa ^[OH invece di spostare il cursore.

Posso usare su/home/ecc. bene nel terminale bash che lancia il mio python django unittests (che ha la chiamata pdb).

Cosa sta succedendo? Come posso riparare il mio pdb? Cosa c'è che non va nella mia readline?

+0

Non è pdb.set_trace()? –

+0

@reos Sì, quello era un errore di battitura. risolto ora era '' ... set_trace() '' nel mio codice – Rory

+1

hai provato a resettare la shell? 'reset' – dm03514

risposta

0

Siamo spiacenti ... ma avete provato a riavviare o tasti di controllo, comando, opzioni (o simili) bloccati sulla tastiera del vostro server pdb?

11

Sembra che per qualche motivo manchi il pacchetto readline. Basta installarlo digitando pip install readline e dovrebbe comportarsi come previsto. Ricordati di digitare come superutente se non sei in venv.

+0

Sembra che il pacchetto [_readline_] (https://pypi.python.org/pypi/readline) sia deprecato. È stato rinominato in [_gnureadline_] (https://pypi.python.org/pypi/gnureadline) per risolvere un conflitto di nomi con il modulo della libreria standard. – Yoel