Ошибка подпроцесса Python IDLE? - PullRequest
10 голосов
/ 17 мая 2009

Подпроцесс IDLE не был выполнен подключение. Либо IDLE не может начать подпроцесс или персональный брандмауэр программное обеспечение блокирует соединение.

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

Кажется, что это происходит случайно на разных битах кода - вот тот, который я делаю в данный момент -

f = open('money.txt')
currentmoney = float(f.readline())
print(currentmoney, end='')
howmuch = (float(input('How much did you put in or take out?:')))
now = currentmoney + howmuch
print(now)
f.close()
f = open('money.txt', 'w')
f.write(str(now))
f.close()

Иногда это работает, иногда нет!

Ответы [ 9 ]

5 голосов
/ 10 марта 2012

Я получаю то же сообщение об ошибке. Для меня проблема заключалась в том, что я назвал один из моих сценариев «string.py». Это происходило каждый раз, когда я пытался запустить скрипт с «string.py» в одной и той же папке.

3 голосов
/ 18 мая 2009

Вы можете использовать idle -n, чтобы избежать подобных проблем (хотя возможно и с некоторыми другими ограничениями).

2 голосов
/ 16 июля 2012

У меня была такая же проблема в 2.7.3. Я обнаружил, что когда я учился использовать tkinter и создал простую программу для открытия окна, я назвал ее Tkinter.py и поместил в ту же папку, что и программа, которую я пытался запустить с IDLE. Он всегда компилирует программу под названием Tkinter и создает второй скомпилированный файл. Когда я пытался запустить другую программу, я получал сообщение об ошибке. Я переименовал мою простую программу открытия окон во что-то другое и удалил скомпилированный файл. Я смог запустить все программы в этой папке без проблем.

1 голос
/ 20 октября 2011

Simple. Просто вырежьте все файлы с расширением .py, вставьте их в место, отличное от пути os, один из файлов вызывает такую ​​ошибку. Запустите IDLE снова.

1 голос
/ 17 мая 2009

В Python 3.0.1 я получил эту ошибку после того, как я нажал Ctrl-C, чтобы прервать предыдущий запуск программы в оболочке Python Idle и затем попытаться запустить скрипт.

Также в 3.0.1: допустим, у вас открыто два окна Idle: скрипт, открытый для редактирования в одном, и окно Python Shell Idle. Я обнаружил, что если вы закроете окно оболочки, а затем сразу же попытаетесь запустить скрипт, он выдаст эту ошибку, когда попытается повторно открыть оболочку, но не в том случае, если вы немного подождете, пока Idle выполнит чистое соединение до этого нужно сделать.

Хуже ошибки, которые я обнаружил (опять же, в v3.0.1 - не уверен, что это произойдет в версиях 2.x): У меня был длинный сценарий - подняться до 9 тыс. Строк - и как только он достигнет определенного размера, выполнение команды «сохранить как» привело к сбою в режиме ожидания. Я не уверен, каков был точный порог для размера, но до этого я также получал некоторые прерывистые сбои «сохранить как», которые, казалось, зависели от того, что еще у меня происходило - другие неактивные окна, сколько выводилось в оболочке окно, возможно, - все в таком духе. Это может привести к сбою, и вы потеряете несохраненную работу.

Кроме того, одна вещь, которую я обычно делаю, - это открываю окно, где я вырезаю и вставляю фрагменты кода на разных этапах проверки, пишу заметки самому себе и т. Д. Я могу вернуться к ним. У меня есть один такой файл, который бездействует каждый раз, когда я пытаюсь открыть его, и я потерял несохраненную работу в первый раз. (К сведению: другие редакторы, включая PythonWin 2.5.2, не имеют проблем с открытием файла.)

1 голос
/ 17 мая 2009

Можете ли вы дать более конкретный пример, предоставив образец короткого кода?

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

0 голосов
/ 18 июня 2014

у меня была такая же ошибка. Я сделал перезагрузку модема и, к моему удивлению, это сработало!

0 голосов
/ 11 июня 2009

Или ... вы можете забыть IDLE и попробовать IPython . Это может не показать ту же ошибку на всех. У меня никогда не было проблем с этим. Вы получаете классную функциональность, которой нет у IDLE. Я нахожу это очень полезным при работе с Python.

0 голосов
/ 21 мая 2009

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

Google для чего-то вроде: imagecfg сходство процессов Для получения дополнительной информации об этом.

...