I have PyOpenGL-3.0.0b6 as packaged in Fedora 9. I started to get this
exception some time ago. Maybe I updated something, maybe I didn't - can't
remember. However now I started to look into it more closely and I came up
with a minimal test program that can be used to reproduce this. Here it is:
import pygame
pygame.init()
screen = pygame.display.set_mode([800, 600], pygame.OPENGL | pygame.DOUBLEBUF)
from OpenGL.GL import *
from OpenGL.GLU import *
As you can see I'm also using pygame here. The exception happens on the last
line where importing GLU. The traceback is on the end of this post.
I can fix this problem by moving the OpenGL import lines before creating the
display. Maybe the example script is all wrong and I shouldn't be doing it
this way. Meaning it might be just stupid to create the screen before
importing all the OpenGL stuff. But anyway I wanted you to know this.
So this is not a show stopper for me but I'm just reporting this if the
developers want to do something about it. Maybe handle the exception in some
way.
Thanks for your attention,
Aki
Traceback (most recent call last):
File "testaa.py", line 5, in <module>
from OpenGL.GLU import *
File "/usr/lib/python2.5/site-packages/OpenGL/GLU/__init__.py", line 10, in
<module>
from OpenGL.GLU.glunurbs import *
File "/usr/lib/python2.5/site-packages/OpenGL/GLU/glunurbs.py", line 147, in
<module>
cb = _callbackWithType( funcType )
File "/usr/lib/python2.5/site-packages/OpenGL/GLU/glunurbs.py", line 140, in
_callbackWithType
simple.gluNurbsCallback
File "/usr/lib/python2.5/site-packages/OpenGL/platform/baseplatform.py",
line 192, in copyBaseFunction
extension = original.argNames,
File "/usr/lib/python2.5/site-packages/OpenGL/platform/baseplatform.py",
line 134, in createBaseFunction
extension = extension,
File "/usr/lib/python2.5/site-packages/OpenGL/platform/baseplatform.py",
line 80, in constructFunction
if extension and not self.checkExtension( extension ):
File "/usr/lib/python2.5/site-packages/OpenGL/platform/baseplatform.py",
line 158, in checkExtension
current = set.get( name )
TypeError: list objects are unhashable
--
Aki Koskinen
http://www.akikoskinen.info/
|