原文链接如下:http://bbs.fishc.com/forum.php?mod=viewthread&tid=67949
今天在测试Python脚本的时候,突然间发现,脚本不能启动了,还弹出了“IDLE's subprocess didn't make connection. Either IDLE can't start a subprocess or personal firewall software is blocking the connection.”的警告!!
经过数次检查,仍旧未能解决问题,便只能求助万能的度娘了。百度一下,很多人也碰到了同样的问题,解决方法也出来了:
修改C:\python34\Lib\idlelib\PyShell.py文件,搜索use_subprocess,在
def main():函数下面
use_subprocess = True
修改为:
use_subprocess = False
百度知道里面是这样回答的,我更改了,果然可以继续运行,可是,总觉得有点怪怪的
Python自带的IDLE的特性之一,便是采用了多线程的机制运行程序,根据此方法,很明显是将多线程的机制给关闭了!!处女座附身的我自然不会就这么稀里糊涂下去,出问题的根源还没有找到呢!!
于是我不甘放弃,继续搜索,最后终于在stackoverflow(链接:http://stackoverflow.com/questions/15888186/cant-run-python-via-idle-from-explorer-2013-idles-subprocess-didnt-make-c)上面找到了同样的案例,回答中还给出了出错误的原因!!居然是因为我的模块名称和Python系统模块重名了(我直接取名叫做 re.py 了)!!真是泪流满面啊,让人哭笑不得的是,我新建的re模块运行后总是会在同一目录下出现名为“__pycache__”的目录,Python3中早就移除了将用户自建模块编译成字节码的机制,多了一个文件夹,我居然没发现,真让人哭笑不得,改名后果然正常了