通过PyCharm或系统终端安装Pygame时遇错误求助
解决Python 3.7.0b4安装Pygame 1.9.3的错误问题
你遇到的问题核心是Pygame 1.9.3与Python 3.7.0b4不兼容,再加上测试版Python的环境配置缺陷,导致了安装时的双重错误(终端的egg_info执行失败、PyCharm的TypeError)。下面给你几个可行的解决办法,按推荐程度排序:
方案1:安装兼容Python 3.7的Pygame版本(最推荐)
Pygame 2.0及以上版本已经完全支持Python 3.7+,而且Windows版本提供了预编译的轮子文件,不需要手动编译SDL依赖,能直接解决你遇到的路径缺失和setup.py报错问题。操作步骤:
- 先卸载可能残留的无效安装:
pip uninstall -y pygame - 安装兼容的Pygame版本:
或者直接执行pip install pygame>=2.0.0pip install pygame,pip会自动拉取适配你Python版本的最新稳定版。
方案2:降级Python到3.6.x版本
Pygame 1.9.3是针对Python 3.6及更早版本开发的,对Python 3.7测试版完全没有适配。降级到Python 3.6.x正式版后,安装1.9.3会非常顺利:
- 卸载当前的Python 3.7.0b4(在控制面板的程序列表中找到后卸载即可)
- 下载Python 3.6.x的正式版(比如3.6.8,这是3.6系列的最后一个稳定版)
- 安装完成后,打开终端执行:
这个组合经过广泛测试,不会出现依赖路径或setup.py的错误。pip install pygame==1.9.3
错误原因说明
你看到的终端报错里的SDL、FONT等路径找不到,是因为Pygame 1.9.3在Windows上安装时需要手动编译SDL相关依赖,但测试版的Python 3.7.0b4的sysconfig模块存在变量缺失问题——当setup.py尝试读取配置变量时,某个变量返回了None,导致字符串拼接时触发TypeError: can only concatenate str (not "NoneType") to str,这就是PyCharm报错的根源。
另外提醒一句:尽量避免用Python的测试版本来开发,第三方库通常需要一段时间才能适配测试版的API和环境,很容易遇到这类奇怪的兼容性问题。
内容的提问来源于stack exchange,提问作者James




