python sleep == IDE заблокирован - PullRequest
1 голос
/ 11 февраля 2009

Когда мой сценарий спит в течение 50 секунд, моя IDE блокируется, что очень раздражает. Я не могу переключать вкладки, просматривать исходный код, код типа и т. Д. Это происходит в pylde и pyscripter, я не пробовал другие IDE. Что я могу сделать, чтобы это исправить? я на самом деле делаю

for i in range(0, timeInSeconds): time.sleep(1) 

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

Ответы [ 5 ]

2 голосов
/ 11 февраля 2009

Я предполагаю, что вы запускаете свой код из IDE?

Ваша IDE, вероятно, блокируется во время выполнения вашего кода. Ищите какую-то настройку, которая могла бы контролировать это поведение, в противном случае я думаю, что ваш единственный выбор - изменить IDE. (Или запустите свой код из-за пределов IDE)

0 голосов
/ 13 февраля 2009

Я подозреваю, что проблема заключается в том, что среда IDE находится в цикле, ожидая завершения сценария.

Это само по себе не является проблемой, при условии, что любые сгенерированные пользователем сообщения все еще обрабатываются, пока IDE находится в этом цикле.

Но в этом случае я подозреваю, что что-то идет не так: среда IDE просто выполняет цикл без обработки и сообщений и, следовательно, пользовательский интерфейс кажется заблокированным.

Необходимо изменить среду IDE, чтобы обрабатывать сообщения GUI во время цикла или, в качестве альтернативы, создать поток для запуска сценария. Затем поток будет работать в фоновом режиме, а графический интерфейс будет реагировать.

Например, Zeus для Windows IDE использует подход фонового потока, и у него нет этой проблемы.

0 голосов
/ 11 февраля 2009

Лично я думаю, что вы никогда не должны выполнять код в том же цикле, что и ваша IDE. Так как большинство IDE запускают mainloop с графическим интерфейсом, блокировка приведет к полной остановке пользовательского интерфейса. Это просто напрашивается на неприятности, и я бы получал сообщения об ошибках в обеих этих IDE.

0 голосов
/ 11 февраля 2009

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

0 голосов
/ 11 февраля 2009

Можете ли вы настроить внешний скрипт для запуска? Я не знаю о конкретных IDE, но я бы попытался создать другой процесс для отлаженного скрипта, а не запускать их под IDE. Если это не помогает, то это проблема IDE.

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