Python IDLE зависает - PullRequest
       6

Python IDLE зависает

3 голосов
/ 30 апреля 2010

Это очень расстраивает, но я не уверен, что это проблема только на моей машине или с IDLE в целом.

При попытке напечатать длинный список в оболочке, и это может произойти случайно при отладке, программа завершает работу, и вам необходимо перезапустить его вручную.

Еще хуже, если у вас открыто несколько окон редактора, он всегда порождает несколько подпроцессов, и каждое из них должно быть вручную отключено из диспетчера задач.

Есть ли способ избежать этого?

Кстати, я использую Python 3.

Ответы [ 2 ]

2 голосов
/ 17 ноября 2011

Расширение Squeezer решает эту проблему. Вместо отображения длинного текста (который является источником замедления), Squeezer захватывает вывод и вместо этого отображает кнопку. У вас есть возможность расширить содержимое или просмотреть его в Блокноте.

Squeezer включен в IdleX , что может оказаться полезным.

2 голосов
/ 30 апреля 2010

Кажется, что tk нужно записать много данных в фрейм оболочки, это занимает много времени, а когда список длинный, он перестает отвечать.

Я сделал:

>>a = range(n)
>>print(list(a))

Это было нормально для n = 100 или n = 1000. После этого все стало медленно. При n, равном 10000, перемещение страницы вверх и вниз становится очень и очень медленным.

Я подозреваю, что нет решения. Для небольших значений n, вероятно, это помогло бы clear() окну, но, к сожалению, в режиме ожидания не было реализовано ни одного метода очистки оболочки. Я не понимаю почему, потому что это не должно быть трудно ...

Редактировать 2012 : За последние месяцы поведение и функциональность IDLE получили много важных улучшений благодаря коллекции расширений и плагинов, предоставленных IdleX .
Случайная печать больших объемов данных больше не является проблемой. Когда IdleX обнаруживает такую ​​ситуацию, он выводит предупреждение о существовании данных, а не распечатывает их. Щелчок правой кнопкой мыши на предупреждении приводит к предварительному просмотру данных не в режиме ожидания, а в системном текстовом редакторе (блокнот в Windows). Таким образом, оболочка не загромождается данными и не замедляется.

enter image description here

...