我试图像这样将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

我正在通过以下方式运行/安装:
  • Mac OSX 10.9.4小牛
  • 自制Python 2.7
  • 已安装Qt的Homebrew
  • 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)
    

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

    最佳答案

    好的,安装程序有些破损,因为oTool的输出应报告库的完整路径(路径应由Pyside安装程序使用install_name_tool进行更改)。

    建议您定义以下内容,而不是疯狂地了解安装程序的哪一部分已损坏:

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

    这将强制可执行加载器也将库扫描到您提供的路径中,即使链接器未对其进行配置。

    关于python - PySide/Qt导入错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25656307/

    10-09 17:13
    查看更多