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 :)
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.
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
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/
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