首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PyOpenGL TypeError:“NoneType”对象不可调用

PyOpenGL TypeError:“NoneType”对象不可调用
EN

Stack Overflow用户
提问于 2012-04-17 17:27:56
回答 7查看 9.8K关注 0票数 17

我正在尝试学习游戏编程的基础知识,为此我已经安装了pygamepyopengl

MyCode:

代码语言:javascript
复制
import sys
import OpenGL

from OpenGL.GL import *     
from OpenGL.GLU import *    
from OpenGL.GLUT import *

def draw():
      glClear(GL_COLOR_BUFFER_BIT)
      glutWireTeapot(0.5)
      glFlush()

glutInit(sys.argv)
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB)
glutInitWindowSize(250, 250)
glutInitWindowPosition(100, 100)
glutCreateWindow("Python OGL Program")
glutDisplayFunc(draw)
glutMainLoop()

draw()

当我在命令提示符中使用以下命令运行上述代码时

代码语言:javascript
复制
python test.py

我得到以下错误。

代码语言:javascript
复制
Traceback (most recent call last):
  File "test.py", line 13, in <module>
    glutInit(sys.argv)
  File "C:\Python27\lib\site-packages\pyopengl-3.0.2a5-py2.7.egg\OpenGL\GLUT\special.py", line 324, in glutInit
    _base_glutInit( ctypes.byref(count), holder )
TypeError: 'NoneType' object is not callable

我不明白为什么我会得到这个错误。我调用glutinit的方式是错误的吗?

我使用的是Python 2.7.2。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-04-21 19:03:38

问题出在我的PyOpenGL安装上。之前我是用easy_install安装的。

因此,正如@Ferdinand建议的那样,您的pyopengl安装似乎有问题。

我使用python setup.py install做了一次干净的安装,它工作了。

票数 1
EN

Stack Overflow用户

发布于 2012-05-29 18:59:29

我在64位的Windows7上使用Python 2.7.3,遇到了一个问题,导致了与Noob相同的症状。

但是上面的PyOpenGL重装解决方案对我没有帮助。

我尝试了一个长镜头--安装freeglut --它很有帮助!

我使用了来自here的Windows MSVC 2.8.0二进制包,并相应地将32位和64位DLL放到了32位目录(c:\Windows\SysWOW64)和64位目录(C:\Windows\System32)中。

票数 13
EN

Stack Overflow用户

发布于 2012-06-29 20:38:50

似乎你必须下载glut或freeglut以及pyOpenGL。最重要的是,在我的64位Win7系统上,它只在我将glut32.dll文件放入C:\Windows\System (而不是C:\Windows\System32 --将其放入\System32中时不起作用!)

这里有一个glut的链接:http://user.xmission.com/~nate/glut.html

和freeglut:http://www.transmissionzero.co.uk/software/freeglut-devel/

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10188595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档