Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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