10

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()

有时有效,有时无效!

4

8 回答 8

5

我收到了同样的错误信息。导致我出现问题的原因是我将其中一个脚本命名为“string.py”。每次我尝试在同一目录中运行带有“string.py”的脚本时,都会发生这种情况。

于 2012-03-10T10:37:44.520 回答
3

您可以使用idle -n来避免此类问题(尽管可能会遇到一些其他限制)。

于 2009-05-18T05:06:17.383 回答
2

我在 2.7.3 中遇到了同样的问题。我发现当我学习如何使用 tkinter 并制作了一个基本程序来打开一个窗口时,我将它命名为 Tkinter.py 并将它放在与我尝试使用 IDLE 运行的程序相同的文件夹中。它总是会编译名为 Tkinter 的程序并生成第二个编译文件。当我尝试运行我的其他程序时,我会收到错误消息。我将我的简单的打开窗口的程序重命名为别的东西并删除了编译的文件。我能够在 IDLE 的情况下运行该文件夹中的每个程序没有问题。

于 2012-07-16T18:26:18.153 回答
1

您可以通过提供一个简短的代码示例来更具体吗?

IDLE 有一些线程问题。所以调试你的问题的第一件事是在你的子进程中打印一些简单的东西。因此,您将看到它是网络还是线程相关的问题。

于 2009-05-17T15:19:09.340 回答
1

在 Python 3.0.1 中,我在使用 Ctrl-C 中断之前在 Idle 的 Python Shell 中运行的程序然后尝试运行脚本后遇到了该错误。

同样在 3.0.1 中:假设您打开了两个空闲窗口:一个脚本打开以供编辑,以及空闲的 Python Shell 窗口。我发现如果您关闭 shell 窗口然后立即尝试运行脚本,它会在尝试重新打开 shell 时给出该错误 - 但如果您在两者之间稍等片刻让 Idle 执行任何连接清理,则不会向上它需要做的。

我发现的更糟糕的错误(同样,在 v3.0.1 中——不确定这是否会在 2.x 版本中发生):我有一个很长的脚本——接近 9k 行——一旦达到一定的大小,就执行“另存为”会导致空闲崩溃。我不确定大小的确切阈值是多少——但在此之前,我还会遇到一些间歇性的“另存为”崩溃,这似乎取决于我还发生了什么——其他空闲窗口​​,shell 中有多少输出也许是窗户——类似的东西。它可能会崩溃,您将丢失未保存的工作。

另外-我通常做的一件事是打开一个临时窗口,在其中剪切和粘贴处于有效性的各个阶段的代码,给自己写注释等-因此不是有效的python脚本,但我有时会保存这些以便我可以来回到他们身边。我有一个这样的文件,每次我尝试打开它时都会导致 Idle 崩溃——而且我第一次丢失了未保存的工作。(仅供参考:包括 PythonWin 2.5.2 在内的其他编辑器打开文件没有问题。)

于 2009-05-17T16:17:45.113 回答
1

简单的。只需剪切所有扩展名为 .py 的文件,将它们粘贴到与 os 路径不同的位置,其中一个文件会导致此类错误。再次运行 IDLE。

于 2011-10-20T19:06:07.490 回答
0

如果它看起来像真正的随机行为,那么它可能是一个多 CPU/核心问题。您可以尝试将解释器关联设置为固定的 cpu,看看是否仍然出现此问题。

谷歌搜索类似:imagecfg process affinity 了解更多信息。

于 2009-05-21T10:34:45.773 回答
0

我有同样的错误。我重新启动了调制解调器,令我惊讶的是,它起作用了!

于 2014-06-18T16:18:04.853 回答