Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#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

Haut de page ↑