pygame是Python开发2D游戏常用的工具包,本人在安装pygame后,无法import pygame,现分享一下是如何解决这个问题的。
安装pygame时,执行了下面命令:python -m pip install --user pygame,显示安装成功。但是程序中import pygame时,却是报红的。网上查看资料,从以下几个方面排查问题:
1. 检查是否成功安装 pygame
2. Python 版本与 pygame 的兼容性
3. 虚拟环境问题
4. 多个 Python 环境冲突
5. 系统依赖问题(Linux/Mac)
6. 权限问题
7. IDE/编辑器问题
均没有解决。
最后,在PyCharm新建项目的页面,发现一个Inherit global site-packages选项,如图:
在 PyCharm 中创建新项目时,“Inherit global site-packages” 选项的作用是决定是否让新项目继承全局 Python 环境(即系统或用户安装的第三方库)。勾选后,新项目会直接访问全局 Python 环境的 site-packages 目录(即通过 pip install 全局安装的包)。
到这里,意识到,当时新建项目的时候, 勾选“Inherit global site-packages” 选项的话,后面安装的pygame就能正常import了。但是当时创建项目的时候没有勾选“Inherit global site-packages” 选项,如何解决呢?可以修改项目的pyvenv.cfg文件对应的配置项,pyvenv.cfg文件通常位于项目venv目录下,其内容,例如:
home = C:\Users\Administrator\AppData\Local\Programs\Python\Python38
include-system-site-packages = false
version = 3.8.8
我们发现include-system-site-packages属性的值为false,这就是当时新建项目时没有勾选“Inherit global site-packages” 选项,默认值为false。改为true,保存文件,重启PyCharm,发现可以正常import pygame了,问题解决。