Python IDLE子进程错误?

时间:2009-05-17 14:42:48

标签: python python-3.x python-idle

  

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 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:3)

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

答案 2 :(得分:2)

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

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

在Python 3.0.1中,我在Ctrl-C中断Idle的Python Shell中的上一个程序运行然后尝试运行脚本后出现了这个错误。

同样在3.0.1中:假设您打开了两个空闲窗口:打开一个脚本进行编辑,以及Idle的Python Shell窗口。我发现如果你关闭shell窗口然后立即尝试运行脚本,它会在尝试重新打开shell时给出错误 - 但是如果你等待一段时间让Idle做任何连接干净就不会它需要做。

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

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

答案 5 :(得分:1)

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

答案 6 :(得分:0)

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

谷歌有类似的东西:imagecfg进程亲和力 有关这方面的更多信息。

答案 7 :(得分:0)

或者..你可以忘记IDLE,然后试试IPython。它可能根本不会出现相同的错误。我从来没有遇到过这个问题。你得到了IDLE没有的一些很酷的功能。我觉得在使用Python时非常有用。

答案 8 :(得分:0)

我有同样的错误。我做了调制解调器重启,令我惊讶的是,它有效!