PyOpenGL报错OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for

在学计算机视觉时,增强现实需要导PyOpenGL,于是先在官网下载了PyOpenGL包

 后报错,搜索解决办法直接pip install了一个镜像文件。依然报错OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling

于是去https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyopengl下载对应版本的包。

关于如何看对应版本:

直接命令行:pip debug --verbose

我这里python是3.9电脑是64位,所以下载cp39-cp39,64位

随后:pip install --user PyOpenGL-3.1.6-cp39-cp39-win_amd64.whl ,提示已有PyOpenGL

再次运行文件还是报相同的错误,于是根据提示重装PyOpenGL-3.1.6-cp39-cp39-win_amd64.whl

命令行输入

pip install --force-reinstall --user PyOpenGL-3.1.6-cp39-cp39-win_amd64.whl

注意下载的PyOpenGL要放在对应用户文件夹

 显示重装成功。运行测试代码

import OpenGL
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
def drawFunc():
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)
    glRotate(0.1, 5, 5, 0)

    glutWireTeapot(0.5)
    glFlush()


if __name__ == "__main__":
    glutInit()
    glutInitDisplayMode(GLUT_SINGLE|GLUT_RGBA)
    glutInitWindowPosition(0, 0)
    glutInitWindowSize(400, 400)
    glutCreateWindow("opengl")
    glutDisplayFunc(drawFunc)
    glutIdleFunc(drawFunc)
    glutMainLoop()

运行成功。

 

 


版权声明:本文为weixin_51578580原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。