PySide/Qt导入错误

ell*_*iot 20 python macos qt pyside

我试图像这样导入PySide/Qt到Python并得到以下错误:

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
Run Code Online (Sandbox Code Playgroud)

我通过以下方式运行/安装:

  • Mac OSX 10.9.4小牛队
  • 自制Python 2.7
  • 自制安装Qt
  • Pip安装了PySide

libpyside-python2.7.1.2.dylib文件与错误消息中列出的QtCore.so文件位于同一路径中.

我对这个特定问题的所有搜索都让人们试图将这些库打包为应用程序的一部分,我没有这样做.我只是想在我的系统上运行它,但却有这个问题.对于应用程序的疑难解答,人们建议oTool; 不确定它是否有用,但这是我运行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)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?提前致谢 :)

Leo*_*ini 15

好吧,安装程序有点坏了,因为oTool的输出应该报告库的完整路径(路径应该由Pyside安装程序使用install_name_tool更改).

我建议你定义:而不是疯狂地理解安装程序的哪个部分坏了.

DYLD_LIBRARY_PATH=/your/path/to/pyside/libraries
export DYLD_LIBRARY_PATH
Run Code Online (Sandbox Code Playgroud)

这将强制可执行加载程序将库扫描到您提供的路径中,即使它未由链接器配置.


jaw*_*awa 13

如果你看这个,你的问题将得到解决:https: //github.com/pyside/packaging/blob/master/setuptools/templates/pyside_postinstall.py

pyside_postinstall.py -install

  • 主分支不再包含链接到上面的文件.在这里你可以找到适合我的那个:https://raw.githubusercontent.com/PySide/pyside-setup/1.2.2/pyside_postinstall.py (3认同)
  • 嗯,对我不起作用。在看似成功的“pip install PySide”之后,此脚本给我一个错误“The PySide package not displayed: None” (2认同)