关闭PyGame编写的Python程序时触发WinError 10054错误求助
解决PyGame程序关闭时的EOFError: [WinError 10054]问题
嘿,这个问题我之前也碰到过!其实这不是你的PyGame代码有bug,而是PyScripter IDE背后的rpyc(远程过程调用)机制搞的小麻烦。
问题原因
当你关闭PyGame窗口时,程序直接终止,但PyScripter还在尝试通过rpyc连接和你的程序通信——结果连接被强制断开,就弹出了这个EOFError: [WinError 10054]错误。本质上是IDE的通信残留问题,不影响你的程序功能。
解决方法
给你几个实用的方案,按需选择:
方案1:直接忽略
如果这个错误不影响你的开发流程,完全可以不管它——它只是个“事后通知”,不会破坏你的程序逻辑或者导致数据丢失。方案2:让程序优雅退出
在处理PyGame的退出事件时,先手动清理PyGame资源,再正常终止程序,给IDE一个“我要退出了”的信号,避免强制断连:import pygame import sys # 初始化PyGame pygame.init() screen = pygame.display.set_mode((800, 600)) # 主循环 running = True while running: for event in pygame.event.get(): if event.type == pygame.QUIT: # 先关闭所有PyGame资源 pygame.quit() # 正常终止程序 sys.exit() # 你的绘图/逻辑代码...方案3:修改PyScripter的运行设置
打开PyScripter的Tools -> Options,找到Run标签页,尝试关闭“Use remote interpreter”或者勾选“Run in external console”选项。这样PyScripter就不会用rpyc来运行你的程序,自然就不会出现这个错误了。
内容的提问来源于stack exchange,提问作者ShayP
相关产品推荐
相关产品推荐

