#1 Le 12/10/2012, à 10:50
- m.aka.b
python erreur importation librairie OpenGL
Bonjour tout le monde,
J'ai un petit soucis et avec un peu de chance quelqu'un pourra m'aider...
J'ai installé il y a quelques jours les librairies OpenGL/Glut pour python,
et sur le moment tout marchait sans problème.
Depuis, quand je lance python et que je demande :
>>> from OpenGL.GL import *
j'obtiens le message suivant :
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.7/OpenGL/GL/__init__.py", line 2, in <module>
from OpenGL.raw.GL import *
File "/usr/lib/pymodules/python2.7/OpenGL/raw/GL/__init__.py", line 6, in <module>
from OpenGL.raw.GL.constants import *
File "/usr/lib/pymodules/python2.7/OpenGL/raw/GL/constants.py", line 7, in <module>
from OpenGL import platform, arrays
File "/usr/lib/pymodules/python2.7/OpenGL/arrays/__init__.py", line 22, in <module>
formathandler.FormatHandler.loadAll()
File "/usr/lib/pymodules/python2.7/OpenGL/arrays/formathandler.py", line 37, in loadAll
cls.loadPlugin( entrypoint )
File "/usr/lib/pymodules/python2.7/OpenGL/arrays/formathandler.py", line 57, in loadPlugin
handler = plugin_class()
File "numpy_formathandler.pyx", line 30, in OpenGL_accelerate.numpy_formathandler.NumpyHandler.__init__ (src/numpy_formathandler.c:1195)
AttributeError: 'module' object has no attribute '_configflags'
!!
D'autres librairie comme numpy, scipy que j'avais installé au même moment s'importent encore très bien...
Que se passe-t-il avec OpenGL !?
Si quelqu'un a la solution ou bien une direction dans laquelle chercher l'erreur, je suis preneur !
D'avance merci,
M.aka.B
Hors ligne
#2 Le 22/12/2012, à 21:14
- ludolpif
Re : python erreur importation librairie OpenGL
Salut,
J'ai obtenu la même erreur aujourd'hui. Je suis sous Ubuntu 12.04, avec du python-2.7.
Désolé pour toi, mais j'ai pas trouvé de solution simple.
J'utilise PyOpenCL 2012.1 compilé à la main en suivant un tuto sur le net.
J'ai eu, avant cette erreur, des problèmes autour de GL_CONTEXT_KHR qui n'était pas défini... J'ai fini par en déduire que la version de python-opengl des dépots ubuntu n'est pas suffisante pour PyOpenCL 2012.1. J'ai tenté un :
sudo pip install PyOpenGL PyOpenGL_accelerate
Et grâce à ça, j'en suis maintenant à cette fameuse erreur :
File "numpy_formathandler.pyx", line 30, in OpenGL_accelerate.numpy_formathandler.NumpyHandler.__init__ (src/numpy_formathandler.c:1195)
AttributeError: 'module' object has no attribute '_configflags'
J'ai pas trouvé de backports ou de PPA qui contiendrai un python-opencl (ne dépendant pas du driver nvidia alors que j'ai une AMD) et qui prends en charge l'intégration OpenCL + OpenGL.
Je pense qu'une solution serait de trouver/recompiler une version plus récente de PyOpenGL... Mais j'utilise PyGTK avec les extensions GL et si je doit recompiler ça aussi... J'ai pas fini ma soirée.
Bref : est-ce que quelqu'un arrive à utiliser PyOpenCL avec intégration OpenGL sous Ubuntu 12.04, et avec une carte AMD/ATI ?
Hors ligne
#3 Le 25/12/2012, à 14:17
- ludolpif
Re : python erreur importation librairie OpenGL
Bonjour à tous et pour ceux qui le fêtent : joyeux Noël !
J'ai réussi à faire fonctionner un prog de test en python 2.7 utilisant l'intégration OpenCL + OpenGL avec une carte ATI (AMD) en installant les modules python avec "pip" (description : pip installs packages. Python packages. An easy_install replacement).
Je vais refaire une install cette aprèm de Ubuntu 12.04 pour essayer d'écrire la procédure "qui marche à tous les coups".
J'ai pas réussi par contre à faire marcher PyGTK avec tout ça.
Il y a plusieurs embûches sur le parcours :
- les modules python dans les dépôts Ubuntu 12.04 posent des problèmes (en tout cas, j'ai pas su faire avec)
-> dépendent du driver Nvidia (ça m'intéresse pas, j'ai une ATI)
-> j'ai pas trouvé de backport ou de ppa aidant
-> installer ces modules from source avec pip permet d'avoir des versions plus récentes
- pip, dans son comportement par défaut, installe des modules python (à peu près) dans les mêmes répertoires que les paquets proposés sur Ubuntu (c'est system-wide et ça crée des incompatibilités)
-> pip peut travailler dans des environnements virtuels python (apt-get install python-virtualenv + tuto)
- le module pyopencl que télécharge pip ne s'installe pas sans causer d'erreurs
-> pip compile à la volée s'il y a lieu (notament numpy en pyopencl ici)
-> certains chemins, comme celui du AMD APP SDK ne sont pas détectés et la compil gcc plante
- pip installe les modules avec une config de base
-> pip ne semble pas permettre pas facilement de passer des paramètres pour le setup.py d'un module
-> pour pyopencl, l'intégration OpenGL est désactivée par défaut
- pip ne permet pas d'installer le module pygtk sous Ubuntu
-> Et là, pour l'heure, j'ai pas trouvé de solution sans casser tout le reste
Pour pyopencl, le seul moyen que j'ai trouvé est de télécharger le .tar.gz moi-même, le décompresser, jouer le ./configure.py avec les chemins appropriés pour l'AMD APP, éditer à la main le siteconfig.py généré pour activer l'intégration OpenGL, de refaire un tar.gz sans compiler et de faire un pip install <le_chemin_de_mon_tar_gz_modifie>
Je poste un peu plus tard mes traces d'install depuis une Ubuntu vierge (car j'ai trop bricolé pour savoir où j'en suis :'( ).
Amicalement,
Ludovic
Hors ligne