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

问题描述 投票:10回答:11

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

我安装了Python,最新版本3.4。我正在尝试打开Python IDLE(GUI)模式,所以当我打开时,我收到消息“IDLE的子进程没有建立连接。无论是IDLE无法启动还是个人防火墙软件阻止连接。”

我的防火墙没问题,因为我把Python放在了它身上。我也尝试重新安装它并没有什么不同。所以,如果有人可以提供帮助!

谢谢你的时间:D

python user-interface runtime-error subprocess python-idle
11个回答
17
投票

使用Python删除目录中所有新创建的.py文件。例如random.py,end.py - 这是导致相同通知窗口的问题。文件名冲突的原因。


0
投票

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

将文件移动到本地计算机后,我退出了错误。


0
投票

只是要注意我的特殊问题,当我的RAM满了并且我的CPU忙碌时,这种情况就发生了。

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

解决方法是清除一些RAM和CPU使用情况,等待一分钟再重试。 对于开发人员来说,修复方法是停止使用IPC的套接字并使用适当的流程管道。

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


5
投票

当您在当前目录中有一个来自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?

如果答案不存在我的建议:谷歌可能是你的朋友!上面的3条线索来自那里:-)


2
投票

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

例如。我将一个文件命名为“random.py”。弹出相同的错误。我将其重命名为“random_demo.py”。有效。不同的命名会丢弃现有文件与具有相同名称的新创建文件之间的歧义问题。


2
投票

对我来说:HOMEDRIVE指向的驱动器不可写。我通过艰难的方式运行空闲来检查这一点,明确使用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!

1
投票

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


1
投票

修复是here

如果您找到2个或更多实例,请打开任务管理器,杀死pythonw.exe。应该在那之后工作。


0
投票

我有一个类似的问题,一个名为“test.py”和Python 2.7.9的文件 - 将文件重命名为其他解决了我的问题。检查后,我注意到Python27 \ Lib文件夹下有一个同名的文件。

似乎是IDLE中的一个错误。


0
投票

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

我在Python 2.7.9中使用Win 10。


0
投票

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

希望我能提供帮助

© www.soinside.com 2019 - 2024. All rights reserved.