对于Python项目,我需要PyOpenGL。我已经用PyCharm IDE安装了它。
当我运行OpenGL程序以测试安装时,出现以下错误消息:
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling.
我在www上搜索了可能的解决方案,并在StackOverflow上找到了一些解决方案。我尝试了所有这些,但没有一个起作用。
然后我在这里找到了该博客:
https://block.arch.ethz.ch/blog/2016/10/pyopengl-glut-error/
我按照所有说明进行操作,并在PyCharm IDE中收到以下错误消息:
(virtual-environment) C:\Users\Rainer\PycharmProjects\MatchMover>pip install C:\Users\Rainer\Desktop\PyOpenGL-3.1.5-cp36-cp36m-win_amd64.whl
PyOpenGL-3.1.5-cp36-cp36m-win_amd64.whl is not a supported wheel on this platform.
You are using pip version 9.0.1, however version 20.0.2 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.
pip软件包已经手动更新为版本20.0.2,但尚未与PyCharm IDE同步。
我正在使用 Windows 7 计算机, Python 3.6.3 , PyOpenGL-3.1.5-cp36-cp36m-win_amd64.whl >作为OpenGL库,我使用 freeglut 。
这是测试程序(摘自:https://codeloop.org/python-opengl-programming-creating-window/):
main.py
from OpenGL.GL import *
from OpenGL.GLUT import *
width, height = 500, 400
def draw():
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT)
glLoadIdentity()
glutSwapBuffers()
glutInit()
glutInitDisplayMode(GLUT_RGBA )
glutInitWindowSize(width, height)
glutInitWindowPosition(200, 200)
window = glutCreateWindow("Opengl Window In Python")
glutDisplayFunc(draw)
glutIdleFunc(draw)
glutMainLoop()
答案 0 :(得分:1)
此错误的两个常见来源是……
但是正如您所说的,您拥有python 3.6,因此我将为第一个选项提供解决方案。
解决方法是下载其他版本(如果下载的是64位版本,则下载为32位,反之亦然);或者,如果您知道需要的版本,请更改转轮的文件名。