Почему стандартный ввод не отображается при вводе текста в приложении Mac OS X Terminal? - PullRequest
10 голосов
/ 19 августа 2009

Меня смущает поведение моего терминала Mac OS X и моей оболочки Django manage.py и pdb.

Когда я запускаю новый терминал, стандартный ввод отображается как I type. Однако в случае ошибки стандартный ввод неожиданно не появляется на экране. Эта ошибка продолжается до тех пор, пока я не закрою это окно терминала.

Вход по-прежнему фиксируется, поскольку я вижу стандартный вывод.

например. в pdb.set_trace() я могу 'l', чтобы показать, где я нахожусь в коде. Однако «l» не будет отображаться, просто пустое приглашение.

Это затрудняет отладку, потому что я не могу определить, что я печатаю.

Что может быть не так и что я могу сделать, чтобы это исправить?

Ответы [ 3 ]

21 голосов
/ 12 апреля 2010

Возможно, это из-за ошибки при запуске Django. Иногда случается, что ввод std исчезает, потому что был использован stty. Вы можете вручную скрыть свой ввод, набрав:

$ stty -echo

Теперь ты не увидишь, что набрал. Чтобы восстановить это и решить вашу проблему, просто наберите

$ stty echo

Это может помочь.

3 голосов
/ 07 января 2010

Если вы выходите из pdb, вы можете набрать reset и стандартный ввод эхо вернется. Я не уверен, что вы можете выполнить нечто подобное в pdb. Однако он сотрет то, что отображается в данный момент.

0 голосов
/ 20 августа 2009

Попробуйте установить readline в Mac OS X:

$ sudo easy_install readline

Это слепое предположение, но, возможно, оно решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...