在学计算机视觉时,增强现实需要导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()
运行成功。