Erreur D'Importation De PySide / Qt

j'essaie d'importer PySide / Qt en Python comme ça et j'obtiens l'erreur suivante:

from PySide import QtCore

ImportError: dlopen(/usr/local/lib/python2.7/site-packages/PySide/QtCore.so, 2): Library not loaded: libpyside-python2.7.1.2.dylib
  Referenced from: /usr/local/lib/python2.7/site-packages/PySide/QtCore.so
  Reason: image not found

je suis en cours d'exécution/installé via:

  • Mac OSX 10.9.4 Mavericks
  • Python Homebrew 2.7
  • Homebrew installé Qt
  • Pip installé PySide

le fichier libpyside-python2.7.1.2.dylib est situé dans le même chemin que la QtCore.si le fichier répertoriés dans le message d'erreur.

<!-Toutes mes recherches pour ça en raison d'un problème particulier, des personnes ont essayé d'empaqueter ces bibliothèques dans le cadre d'une application, ce que je ne fais pas. Je suis juste essayer de l'exécuter sur mon système et encore ce problème. Pour résoudre une application, les gens ont suggéré oTool; pas sûr si c'est utile ici, mais c'est la sortie quand j'exécute oTool:

otool -L QtCore.so 
QtCore.so:
    libpyside-python2.7.1.2.dylib (compatibility version 1.2.0, current version 1.2.2)
    libshiboken-python2.7.1.2.dylib (compatibility version 1.2.0, current version 1.2.2)
    /usr/local/lib/QtCore.framework/Versions/4/QtCore (compatibility version 4.8.0, current version 4.8.6)
    /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1197.1.1)

des idées? Merci d'avance :)

20
demandé sur elliot 2014-09-04 06:10:21

5 réponses

Eh bien, l'installateur est quelque peu cassé, parce que la sortie d'oTool devrait signaler un chemin complet à la bibliothèque (le chemin devrait être modifié par L'installateur Pyside en utilisant install_name_tool).

au lieu de devenir fou comprendre quelle partie de l'installateur est brisée, je vous suggère de définir:

DYLD_LIBRARY_PATH=/your/path/to/pyside/libraries
export DYLD_LIBRARY_PATH

cela forcera le chargeur exécutable à rechercher les bibliothèques dans le chemin que vous fournissez aussi, même s'il n'est pas configuré par le linker.

14
répondu Leonardo Bernardini 2017-11-10 12:25:10

si vous regardez cela , vous êtes en question sera fixé:

https://github.com/PySide/pyside-setup/blob/master/pyside_postinstall.py

pyside_postinstall.py -install

13
répondu jawa 2014-11-13 07:55:27

j'ai eu un problème similaire, et je l'ai résolu en utilisant manuellement otool -L (on l'a vu dans la question) et install_name_tool mettre à jour les chemins d'accès.

install_name_tool -change @rpath/libshiboken.cpython-34m.1.2.dylib /usr/local/lib/python3.4/site-packages/PySide/libshiboken.cpython-34m.1.2.dylib /usr/local/lib/python3.4/site-packages/PySide/QtCore.so

install_name_tool -change @rpath/libpyside.cpython-34m.1.2.dylib /usr/local/lib/python3.4/site-packages/PySide/libpyside.cpython-34m.1.2.dylib /usr/local/lib/python3.4/site-packages/PySide/QtCore.so

j'ai dû faire cela pour plusieurs fichiers dans le répertoire PySide avant que le script ne s'exécute.

Ce blog est une belle référence: http://thecourtsofchaos.com/2013/09/16/how-to-copy-and-relink-binaries-on-osx/

3
répondu RyanB 2016-02-02 16:30:56

j'ai trouvé une solution ici

export DYLD_LIBRARY_PATH=/usr/local/lib/python[version]/site-packages/PySide

pour python 3.5 ce serait

export DYLD_LIBRARY_PATH=/usr/local/lib/python3.5/site-packages/PySide
1
répondu johnson 2017-02-12 22:08:34

j'ai eu un problème similaire, sur Mavericks en utilisant un Qt installé par Brew et un environnement virtuel.

j'ai eu à brew reinstall Qt

alors exécutez le pyside_postinstall.py -install

https://github.com/Homebrew/homebrew/issues/27898

0
répondu alexgoodell 2015-08-17 19:45:02