Seite 1 von 1
Python und OpenGL
Verfasst: Mittwoch 18. Mai 2011, 15:13
von htauscher
Ich habe ein Problem OpenGl mit Python zu nutzen. Ich habe sowohl Python 2.5 als auch Python 3.2 installiert. Ausserdem habe ich jeweils PyOpenGl für beide Versionen installiert. Wenn ich nun unten stehenden Code ausführen möchte
from OpenGL.GL import *
from OpenGL.GLU import *
from OpenGL.GLUT import *
glutInit("Hello, World")
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB |GLUT_DEPTH)
glutInitWindowSize(400,400)
glutCreateWindow("Hello, World")
glClearColor(0.,0.,0.,1.)
glutSetDisplayFuncCallback(display)
glutDisplayFunc()
glutMainLoop()
if __name__ == '__main__':
pass
bekomme ich immer folgende Fehlermeldung.
"Traceback (most recent call last):
File "D:\Data\Workspace\Python\src\OpenGL\HelloWorld.py", line 10, in <module>
from OpenGL.GL import *
ImportError: No module named GL
"
Kann mir da bitte weiterhelfen?
Danke
Re: Python und OpenGL
Verfasst: Mittwoch 18. Mai 2011, 15:25
von EyDu
Hallo und willkommen im Forum!
Das funktioniert nicht, da das Modul `OpenGL` noch nicht bekannt ist. Du könntest dieses einfach vor den drei Import importieren, dann würde es funktionieren. Auch wenn bei den GL-, GLU- und GLUT-Funktionen bereits überall Prefixe vorhaden sind, würde ich dir von den *-Importen abraten, da dieser dir den Namensraum zumüllen. Verwende einfach
Code: Alles auswählen
from OpenGL import GLUT
[...]
GLUT.glut.init("Hello World")
Das solltest du dir gleich angewöhnen und vergessen, dass es *-Importe gibt.
Außerdem solltest du keinen Code auf Modulebene haben und die ganzen aufrufe in eine Main-Funktio packen. Den dazu passenden if-name-Guard kennst du offensichtlich bereits.
Sebastian
Re: Python und OpenGL
Verfasst: Montag 23. Mai 2011, 06:19
von htauscher
Hallo Sebastian,
ich hab alles so gemacht wie Du es beschrieben hast. Aber irgendwie (und warum auch immer) funktioniert es bei mir nicht. Gleiches Verhalten schon beschrieben. Kannst Du mir bitte genau beschreiben was ich alles installieren muss.
Ich nutze Windows XP. Installiert habe ich folgendes:
Python (2.5 und 3.2)
PyOpenGL (für beide Python Versionen)
Vielen Dank
Helmut
Re: Python und OpenGL
Verfasst: Montag 23. Mai 2011, 06:51
von BlackJack
@htauscher: Kann es sein, dass Du hier *selbst* ein Package mit dem Namen `OpenGL` erstellt hast: ``D:\Data\Workspace\Python\src\OpenGL\``? Liegt in dem Verzeichnis eine `__init__.py`? Was wird ausgegeben wenn Du in dem Programm das nicht funktioniert, folgendes am Anfang einbaust:
Re: Python und OpenGL
Verfasst: Montag 23. Mai 2011, 07:10
von htauscher
Hallo
Ja es liegt eine __init__.py in diesem Verzeichnes!!
Der print (OpenGL) gibt folgendes aus:
<module 'OpenGL' from 'D:\Data\Workspace\Python\src\OpenGL\__init__.pyc'>
Danke
Helmut
Re: Python und OpenGL
Verfasst: Montag 23. Mai 2011, 08:03
von BlackJack
@htauscher: Mir ist jetzt nicht ganz klar ob Dir damit Problem und Lösung klar sind: Du hast da ein Paket mit dem Namen `OpenGL` und wenn Du ``import OpenGL`` schreibst, dann importierst Du *Dein eigenes Paket*, weil das im Suchpfad vor dem `OpenGL`-Paket liegt, welches Du eigentlich importieren möchtest. Und da ist kein Modul mit dem Namen `GL` enthalten — darum die Fehlermeldung das `GL` nicht importiert werden kann.
Ergo: Nenn' Dein Paket anders.
