Erreur d’importation PySide sur Ubuntu 13.04

en essayant juste d’importer

from PySide import QtGui 

Je reçois l’erreur suivante:

ImportError: libpysidepython2.7.so.1.2: impossible d’ouvrir le fichier object partagé: aucun fichier ou répertoire de ce type

ls /usr/local/lib/python2.7/dist-packages/PySide/libpyside-python2.7.so.1.2

/usr/local/lib/python2.7/dist-packages/PySide/libpyside-python2.7.so.1.2

Donc, le fichier est en place, pourquoi PySide ne peut pas le trouver? J’ai essayé d’installer PySide via pip, mais j’ai reçu une sorte d’erreur de script de post-traitement et installé le paquet via synaptic.

Information additionnelle:

 ldd /usr/local/lib/python2.7/dist-packages/PySide/libpyside-python2.7.so.1.2 linux-vdso.so.1 => (0x00007ffffd34e000) libpython2.7.so.1.0 => /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0 (0x00007fdd5a6ae000) libshiboken-python2.7.so.1.2 => not found libQtCore.so.4 => /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (0x00007fdd5a1d6000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fdd59ed3000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fdd59cbd000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdd598f4000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fdd596dd000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdd594c0000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdd592bb000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fdd590b8000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fdd58db3000) libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fdd58ab6000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fdd588ae000) /lib64/ld-linux-x86-64.so.2 (0x00007fdd5ae32000) libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fdd5866e000) 

La sortie de ldd suggère que libshiboken-python2.7.so.1.2 est introuvable.

/usr/local/lib/python2.7/dist-packages/PySide , où il se trouve, n’est généralement pas un répertoire où l’éditeur de liens dynamic le chercherait.

Il y a plusieurs options dans ce cas:

  • append le répertoire aux répertoires vérifiés par l’éditeur de liens dynamic.

    Pour ce faire, vous pouvez créer un fichier de configuration, par exemple /etc/ld.so.conf.d/pyside.conf avec le contenu:

     /usr/local/lib/python2.7/dist-packages/PySide 

    puis en tant que root exécutez ldconfig

  • copier ou créer un lien symbolique entre la bibliothèque et un répertoire déjà vérifié par l’éditeur de liens dynamics, comme /usr/local/lib (et exécutez ldconfig tant que root)

  • set LD_LIBRARY_PATH=/usr/local/lib/python2.7/dist-packages/PySide (non recommandé)

Si vous avez utilisé pyside-setup pour créer à partir de sources, exécutez simplement

 sudo python pyside_postinstall.py -install