Python IDLE 运行错误:IDLE's subprocess didn't make connection. --已解决(原创)!

Python IDLE 错误描述:

Subprocess Startup Error
IDLE's subprocess didn't make connection. Either IDLE can't start a subprocess or personal firewall software is blocking the connection.
------------------------------

错误截图:

                                 图1

 运行环境:XP sp3 、 Python 2.7.5

-----------------------------

错误原因及解决方案:

1、原因之一:可能如提示那样,是由于瘟都死(windows)防火墙给拦截,所以可以试试关闭windows防火墙试试错误能否重现。

2、原因之二:这个原因可能更常见。

现在重新叙述一遍该Error。

这个错误现象是用IDLE打开xxx.py文件后,点击运行(或按F5),IDLE崩溃,并弹出图1.

但是xxx.py可以在命令行下解释并正常运行(即在Winkey+R,输入cmd,然后python xxx.py。前提是python已加入环境变量)。

这个现象说明xxx.py语法非常正确,所以导致IDLE崩溃的原因只能是IDLE本身有问题。

于是作为一个不称职的程序员,一个常见的错觉就是“这不可能,一定是编译器出了问题!!!”...怀疑Python安装有问题或者是莫名其妙的Python某个配置文件被改了...接着卸了重装Python...还是不行...换个电脑试试还是不行!!!.....一句“f**k”出口,最后只能将问题定性为“一定死我人品不好”....对于一些毅力超强的人来说使出了杀手锏“TMD,LZ要重装系统!”,结果重装完系统还是崩溃。。。呵呵

................................................

以上为活跃气氛。

................................................

经过仔细分析,发现这么个情况:

1、xxx.py的同级目录下有个code.py和code.pyc文件(注:code.py是我自己瞎写的一个文件,但是code.pyc不知道何时生成的)。

2、xxx.py的同级目录下所有.py文件IDLE都不能正常运行。

3、如果将xxx.py复制到另一个目录下,xxx.py用IDLE可以正常运行!

综上,问题就在于这个code.py和code.pyc上。

我到Python裤中一查,果然code.py这个文件名竟然是系统文件名!

然后调查了一下D:\Python27\Lib\code.py文件的功能,发现是这样的:

在python的help文档中这样写道:Utilities needed to emulate Python's interactive interpreter.

也就是说这个code.py功能是模拟Python交互式解释器。

并且,如果IDLE打开xxx.py,如果同等目录下还有一个”code.py"文件名的话(它检查code.py内容是什么),会先编译(解释)code.py生成code.pyc,然后再执行解释xxx.py.

其结果就相当于打开多个终端,而且一个终端的打开代码还是错误的(此处纯属YY,如有不妥之处请联系我)。

于是就出现了什么子进程无法连接错误之类的Error。

.............................................

解决方案:

不要自己给文件名起"code.py"这个名字!或者是检查要运行的源文件目录下有没有code.py、code.pyc这两个文件中的一个,删除即可。

温馨提示:

自己定义的文件名最好不要与系统库文件名相同,有可能会出现一些未知错误!

我们可以进入Python lib目录看看,发现Python库文件起的名字真不怎么地,什么abc.py,test_xxx.py之类的文件名都有,这些库文件名都极易与我们起名的规则类似。。。

转载于:https://www.cnblogs.com/skyhiter/p/3381385.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 很抱歉,我不明白你的意思。你可以再详细说明一下吗? 我不明白你的意思。这个错误信息通常出现在 Python 中使用 `subprocess` 模块调用子进程时发生了错误错误信息的意思是子进程没有启动成功,其中 `idle` 是子进程的名称,`s` 是子进程的标识符。具体的原因可能有很多种,比如: 1. 执行的命令不存在或无法被找到; 2. 执行的命令需要一些参数,但是没有被正确地传递; 3. 子进程执行命令时出现了异常; 4. 子进程执行命令的权限不足; 5. 子进程在执行命令时遇到了操作系统级别的错误。 为了解决这个问题,你可以尝试以下几种方法: 1. 检查执行的命令是否正确,尤其是命令的路径和参数是否正确; 2. 检查子进程执行命令的权限是否足够; 3. 尝试在命令行中手动执行相同的命令,看看是否会出现错误; 4. 在调用子进程时,将 `stderr` 参数设置为 `subprocess.PIPE`,这样可以将子进程执行时的错误输出捕获到,方便调试; 5. 如果仍然无法解决问题,可以考虑使用其他的方法来执行相同的任务,比如使用 `os.system` 或者第三方库 `sh` 等。 ### 回答2: Idle是一种用于Python编程的集成开发环境(IDE),它包含了一个交互式解释器和一个代码编辑器。 "Subprocess"是指一个在另一个程序中创建的进程,该进程通常是用于执行一些命令行操作的。在使用Idle时,如果出现"idle s subprocess didn t make"的错误信息,通常意味着程序无法创建一个子进程以执行命令。这个错误可能有多种原因,包括: 1.电脑系统环境配置错误,导致Idle无法创建子进程。 2.由于权限不足,Idle无法创建子进程。 3.防火墙或杀毒软件阻止了Idle创建子进程。 如果出现这个错误,可以尝试以下方法来解决: 1.检查系统环境配置是否正确。首先确保Python已正确安装,然后查看系统环境变量是否正确设置。具体可以查看官方文档或咨询相关专业人士。 2.以管理员身份运行Idle,或提升进程权限以允许创建子进程。 3.检查防火墙和杀毒软件设置,确保它们不会阻止Idle创建子进程。 总之,如果出现"idle s subprocess didn t make"的错误提示,应该先确定错误原因,然后尝试解决问题。针对不同的情况,可以选择不同的解决方法来解决问题。 ### 回答3: "Idle subprocess didn't make"是Python程序中经常遇到的错误。具体来说,这个错误通常发生在尝试创建新的进程去执行Python程序时。当Python程序使用的idle subprocess出现问题时,就会出现这个错误解决这个错误的方法有很多种,根据具体情况可以采取不同的方法。首先,可以尝试重新安装Python解释器。另外,如果程序中使用了某些特定的Python库,也可以尝试更新或重新安装这些库。如果这些方法都无法解决问题,可以尝试修改操作系统的环境变量,以确保Python程序使用的是正确版本的解释器。 此外,还有可能是因为程序本身存在一些错误,导致无法正常执行。因此建议仔细检查程序中的代码,尝试找出可能存在的问题,并进行修正。同时,对于初学者来说,也可以借助Python集成开发环境(IDE)等工具来帮助自己快速定位和解决问题。 总之,无论何种情况,出现"Idle subprocess didn't make"错误都需要仔细排查,并根据具体情况采取相应措施进行修正,以确保Python程序能够正常执行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值