该平台不支持PyOpenGL-3.1.5-cp36-cp36m-win_amd64.whl。

时间:2020-04-03 17:45:08

标签: python opengl pip pyopengl

对于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()

1 个答案:

答案 0 :(得分:1)

此错误的两个常见来源是……

  1. 该软件包期望使用不同的系统类型(32位和64位)。
  2. 系统没有或无法识别必要的Python版本,即某人仅安装了3.x版本,但该软件包需要Python 2.7。

但是正如您所说的,您拥有python 3.6,因此我将为第一个选项提供解决方案。

解决方法是下载其他版本(如果下载的是64位版本,则下载为32位,反之亦然);或者,如果您知道需要的版本,请更改转轮的文件名。