【问题标题】:Library not loaded: QtCore.framework/Versions/4/QtCore库未加载:QtCore.framework/Versions/4/QtCore
【发布时间】:2013-10-05 05:13:11
【问题描述】:

我试图在 Python 中进行 gui 编程。我发现 PySide 是一个很好的框架。当我运行 Python 2.7.2 时,我下载了 PySide 2.7 并尝试运行示例应用程序。我没有 QtCore 库加载错误。

这是我得到的错误..

from PySide import QtCore, QtGui
ImportError: dlopen(/Library/Python/2.7/site-packages/PySide/QtCore.so, 2): 
Library not loaded: QtCore.framework/Versions/4/QtCore
Referenced from: /Library/Python/2.7/site-packages/PySide/QtCore.so
Reason: image not found

我搜索了一下,发现很多人都面临同样的问题,并且我看到了基于导出 DYLD_FRAMEWORK_PATH 的解决方案。我无法遵循这一点。 谁能告诉我是什么问题以及如何解决它! 谢谢..

【问题讨论】:

    标签: python qt python-2.7 pyside


    【解决方案1】:

    您没有提及您正在使用的操作系统,但从错误消息中的路径来看,您使用的是 Mac OSX。

    我根本不是 PySide 方面的专家,但不久前我遇到了同样的问题,我想我知道发生了什么:/Library/Python/2.7/site-packages/PySide/QtCore.so 的库是使 Qt Core C++ 库可用于Python。它只是 C++ 和 Python 之间的包装器或某种翻译器,实际的 C++ 功能在其他地方 - 当 Python 解释器尝试从 QtCore.framework/Versions/4/QtCore 加载包含该功能的 C++ 库时,如果找不到它,因此错误信息。

    解决问题的一种快速而肮脏的方法是从QtCore.so 期望C++ 库到它实际所在的位置创建符号链接。为此,您显然必须找到 C++ 库。如果您从 Qt Project page 下载 Qt 4.8.4 作为安装程序,则库 AFAIK 位于 /usr/lib 中,因此您将创建如下符号链接:

    ln -vis /usr/lib/<insert subfolder>/QtCore.framework /Library/Python/2.7/site-packages/PySide/QtCore.framework
    

    对于 QtGui 和您想要使用的任何其他 Qt 库,您必须以类似的方式执行此操作。请注意,这显然不是符号链接库本身,而是 QtCore.so 期望的文件夹。

    另一种方法是build PySide from the sources(我最终这样做了),但这需要更长的时间 - 而且你听起来就像你只想开始使用 Python 和 Qt。

    【讨论】:

      【解决方案2】:

      您是否安装了独立的 Mac 版 QT 包? Qt for Mac OS X:下载 Qt 4.7.4 ftp://ftp.qt-project.org/qt/source/qt-mac-opensource-4.7.4.dmg 独立 pyside 安装会为我引发相同的错误日志

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-06-07
        • 2021-04-28
        • 2013-12-18
        • 2014-08-23
        • 2020-05-05
        • 2017-05-06
        相关资源
        最近更新 更多