2009-08-19 7 views
10

Mac OS X Terminalimin ve Django manage.py kabuk ve pdb'nin bazı davranışları ile kafam karıştı.Mac OS X Terminal uygulamasında yazdığım için neden Standart Giriş görüntülenmiyor?

Yeni bir terminal başlattığımda, Standart Giriş, yazarken görüntülenir. Ancak, bir hata varsa, aniden Standart Giriş ekranda görünmez. Bu hata, terminal penceresini kapatana kadar devam ediyor.

Standart Çıkışı görebildiğim için Giriş hala çekiliyor.

E.g. pdb.set_trace()’da Kodda olduğum yeri gösterebilirim. Ancak, 'l' görüntülenmez, sadece boş bir istemi.

Bu ben de yazdıklarım belirleyemiyor çünkü zor hata ayıklama yapar.

Ne yanlış gidiyor olabilir ve bunu düzeltmek için ne yapabilirim? Mac OS X üzerinde readline yüklemeden

+0

Lütfen "Ancak, bir hata varsa," hatasını tanımlayın. Nerede? IDLE'de misiniz? Python '>>>' komutunu çalıştırıyor musunuz? Ne - özellikle - devam ediyor? Açıkça, bir işlem terminalinizi sıfırladı. Soru şu: hangisi? –

+0

Python etkileşimli kabuğunu çalıştırıyorum: Buna neden olan hata olduğuna inanıyorum: Hata: [Errno 32] Bozuk boru – BryanWheelock

+0

Dev sunucum bir süredir çalışıyorsa Ubuntu kabuğunda benzer bir sorun yaşadım. Daha fazla yazılan karakterlerin görünmesini engelleyen bir çeşit maksimum tampon olabilir. Sadece yeni bir terminal açın veya temizleyin. –

cevap

-1

Dene:

$ sudo easy_install readline 

Bu kör bir tahmin olduğunu, ancak belki de sorununuzu çözer.

+0

Zaten readline 2.5.1 kullanıyorum – BryanWheelock

+0

easy_install nedir? – hhafez

+0

http://en.wikipedia.org/wiki/Easy_install adresine bakın. – reto

3

Eğer pdb'den çıkarsanız, reset yazabilirsiniz ve standart input echo geri dönecektir. Pdb içinde benzer bir şey yürütebileceğinden emin değilim. Bununla birlikte, şu anda görüntülenenleri siler.

19

Belki de Django çalışırken bir hata olduğu için budur. Bazen std girişinin kaybolması nedeniyle stty kullanıldı. El ile yazarak girişinizi gizleyebilirsiniz:

$ stty -echo

Şimdi yazdıklarınızı görmezsiniz. Sadece bu yardımcı olabilir

$ stty echo

yazın Bu geri yükleme ve sorunu çözmek için.