Python 错误 - IDLE 的子进程没有建立连接。 IDLE 无法启动或个人防火墙软件正在阻止连接

Python error - IDLE's subprocess didn't make connection. Either IDLE can't start or personal firewall software is blocking connection

我是编程新手,我决定先学习 Python,所以;

我安装了 Python,最新版本 3.4。我正在尝试打开 Python IDLE(GUI) 模式,所以当我打开时收到消息 "IDLE's subprocess didn't make connection. Either IDLE can't start or personal firewall software is blocking connection."。

我的防火墙没有问题,因为我 Python 通过了它。我也尝试重新安装它,但没有任何区别。所以请如果有人可以提供帮助!

谢谢你的宝贵时间:D

这可能是一个常见问题,当您的当前目录中有一个与来自 Python 的文件同名的文件(参考文献:Can't run Python via IDLE from Explorer [2013] - IDLE's subprocess didn't make connection

如果您的环境变量不正确,例如 HOMEPATH USERPROFILE(参考文献:Issue 14576: IDLE: inconsistent use of HOMEDRIVE, HOMEPATH, and USERPROFILE on Windows

,似乎也会发生这种情况

我发现了另一个相关问题:Python IDLE subprocess error?

如果没有答案,我的建议是:google 可能是你的朋友!上面的 3 条线索来自那里:-)

删除Python目录下所有新建的.py文件。例如 random.py、end.py - 这是我的问题导致了相同的通知 window。文件名冲突的原因。

我在名为 "test.py" 和 Python 2.7.9 的文件中遇到了类似的问题 - 将文件重命名为其他名称解决了我的问题。检查后发现Python27\Lib文件夹下有一个同名文件。

似乎是 IDLE 中的错误。

刚遇到同样的问题。所以卸载并重新安装修复它并花了 10 分钟。 Windows 机器的关键是删除旧目录(C:\Python27\ 因为 windows 似乎确实删除了东西)并且在重新安装时指定一个新目录(C:\Python279\ 或您选择的任何名称)。

我正在使用 Win 10 Python 2.7.9.

我修复了它,我需要 运行 以管理员权限闲置。 (我正在使用 Windows 7 x64)。希望这可以帮助。

转到C:/Users/[你的用户]/AppData/Local/Programs/Python/Python35-32,删除或重命名此目录中以特定方法、函数、模块或库命名的每个*.py 文件。然后 运行 空闲。应该可以。

希望能帮到你

简单...重命名您的 .py 文件,使用不同于任何关键字名称的名称,例如 python 包中已经存在的 'random.py'。

例如。我将一个文件命名为 "random.py"。弹出相同的错误。我将其重命名为 "random_demo.py"。有效。 不同的命名解决了现有文件和新创建的同名文件之间的歧义问题。

修复是 here

打开任务管理器,如果发现 2 个或更多实例,则终止 pythonw.exe。之后应该可以工作。

对我来说:HOMEDRIVE 指向的驱动器不可写。我通过 运行 idle 困难的方式检查了这个,明确使用 python.exe 而不是 pythonw.exe:

C:\coding\xyz>"C:\Python27\Lib\idlelib\..\..\python.exe"  
"C:\Python27\Lib\idlelib\idle.pyw"

 Warning: unable to create user config directory
P:\.idlerc
 Check path and permissions.
 Exiting!

我的问题是 .py 文件不在我的本地计算机上。它位于共享目录中。

将文件移动到我的本地机器后,我不再收到错误消息。

请注意我的特殊问题,当我的 RAM 已满并且我的 CPU 变得忙碌时,我就会遇到这种情况。

问题是因为 RPC 子进程之间的 IPC 管道上的网络套接字超时。
这是一种糟糕的设计(不安全且容易出错),通常用于 IPC 而不是流程管道。

解决方法是清除一些 RAM 和 CPU 使用情况,稍等片刻再重试。
对于开发人员,解决方法是停止为 IPC 使用套接字并使用适当的进程管道。

是的,这与您在浏览器中遇到的套接字超时问题完全相同,但在现代浏览器中,页面只是停止加载而不是显示超时错误屏幕。
(请注意,这是假设 WAN 连接良好且本地超时的情况)

这是全新安装。它适用于禁用防火墙。由于这是全新安装,任何涉及 AppData 的答案都不适用。也没有任何关于删除 *.py 文件的答案。

如果您使用的是第三方防火墙 - 卸载它并使用 Windows 防火墙。这里的罪魁祸首是Avast/AVG。如果您真的想要,您可以将此类软件设置为“要求”您创建规则,AVG 在这种情况下会忽略这些规则并阻止它认为是外部“Tcp/Udp”(原文如此)public 连接.

使用 SysInternals 的 Process Explorer 揭示了两个进程之间的成功连接。 AVG 似乎无法处理源自同一主机的“phone home”情况。这个问题应该更普遍,因为许多调试器都以相同的方式运行,所以 IDLE 开发人员可能对这个问题做出了一些贡献。

更改您的防火墙提供商。