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
Python und OpenGL
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
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
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")
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
Das Leben ist wie ein Tennisball.
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
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
@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:
Code: Alles auswählen
import OpenGL
print OpenGL
@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.
Ergo: Nenn' Dein Paket anders.