You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行基于Pygame的PyOpenGL窗口报错:'OpenGL'不是有效包

解决PyOpenGL导入报错:ModuleNotFoundError: No module named 'OpenGL.GL'; 'OpenGL' is not a package

可能的解决步骤:

  • 确认Python环境匹配
    检查VS Code终端使用的Python解释器,是否和你安装PyOpenGL时使用的一致:

    1. 在终端输入 python --version 查看当前终端的Python版本
    2. 对比VS Code右下角显示的解释器版本,不一致则点击切换到对应版本
    3. 如果使用虚拟环境,确保在终端激活了对应的虚拟环境后再安装库
  • 重新安装PyOpenGL(确保安装正确)

    1. 先卸载现有安装:
      pip uninstall -y PyOpenGL PyOpenGL-accelerate
      
    2. 找到你下载的对应Python版本、系统架构的whl文件,用本地安装:
      pip install PyOpenGL-xxx.whl PyOpenGL-accelerate-xxx.whl
      
      (替换xxx为你下载文件的具体版本和系统标识)
    3. 验证安装:打开Python交互环境,输入 import OpenGL 和 print(OpenGL.__file__),如果能正常输出文件路径,说明安装成功
  • 排查文件命名冲突
    检查你的脚本文件名是否为OpenGL.py,或者当前工作目录下是否存在同名文件。这类命名会和PyOpenGL库冲突,导致导入错误,修改为其他名称即可

测试代码

如果上述步骤解决了问题,可以运行以下代码验证蓝灰色背景窗口:

import pygame as pg
from OpenGL.GL import *

def main():
    pg.init()
    display = (800, 600)
    pg.display.set_mode(display, pg.DOUBLEBUF | pg.OPENGL)
    
    glClearColor(0.5, 0.6, 0.7, 1.0)  # 设置蓝灰色背景
    glClear(GL_COLOR_BUFFER_BIT)
    
    while True:
        for event in pg.event.get():
            if event.type == pg.QUIT:
                pg.quit()
                return
        
        pg.display.flip()

if __name__ == "__main__":
    main()

内容的提问来源于stack exchange,提问作者HalfAsleepSam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 01:40:22