2009-08-19 25 views
10

私のMac OS X TerminalとDjango manage.pyシェルとpdbの動作によって混乱します。Mac OS X端末アプリケーションで標準入力が入力されていないのはなぜですか?

新しい端末を起動すると、標準入力がIと表示されます。ただし、エラーが発生した場合、突然標準入力が画面に表示されません。このエラーは、ターミナルウィンドウをシャットダウンするまで続きます。

標準出力が表示されているため、入力はまだキャプチャされています。

など。 in pdb.set_trace()私はコードのどこにいるのかを表示することができます。ただし、 'l'は表示されず、空のプロンプトが表示されます。

これは私が私が入力してるかを判断することはできませんので、それは難しいデバッグすることができます。

は、何が間違って行くことができ、私はそれを修正するために何ができるのでしょうか?

+0

"ただし、エラーがある場合は、"エラーを定義してください。どこ?あなたはIDLEにいますか? Python '>>>'プロンプトから実行していますか?具体的には何が起こっているのですか?プロセスが端末をリセットしたことは明らかです。問題は、どちらですか? –

+0

私はPythonのインタラクティブシェルを実行しています:これは原因でエラーが発生したと考えています: エラー:[Errno 32]壊れたパイプ – BryanWheelock

+0

私のdevサーバーがしばらく実行されている場合、私はUbuntuシェルで同様の問題がありました。さらにタイプされた文字が表示されないようにする、ある種の最大バッファがあるかもしれません。新しい端末を開くか、クリアしてください。 –

答えて

-1

は、Mac OS X上でのreadlineをインストールしてください:

$ sudo easy_install readline 

これは盲目の推測ですが、おそらくそれはあなたの問題を解決します。

+0

私は既にreadline 2.5.1を使用しています – BryanWheelock

+0

easy_installとは何ですか? – hhafez

+0

http://en.wikipedia.org/wiki/Easy_installを参照してください。 – reto

3

pdbを終了すると、resetと入力すると標準入力エコーが返されます。私はpdb内で同様のことを実行できるかどうかはわかりません。しかし、現在表示されている内容は消去されます。

19

おそらく、これはDjangoの実行中にエラーが発生したためです。 sttyが使用されたために標準入力が消えることがあります。

$ stty -echo

を今、あなたはあなたが入力した内容は表示されません:あなたは手動で入力することで、あなたの入力を非表示にすることができます。これを復元して、あなたの問題を解決するためには、単にこれは助けることができる

$ stty echo

を入力します。

関連する問題