未加载库:QtCore.framework/Versions/4/QtCore



我试图用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发布的解决方案。我没能理解这一点。有人能告诉我问题出在哪里以及如何解决吗!!谢谢

您没有提到您正在使用的操作系统,但从错误消息中的路径来看,它看起来像是在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页面下载了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所期望的文件夹

另一种方法是从源代码构建PySide(这就是我最终所做的),但这需要更长的时间——听起来你只想使用Python和Qt。

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

最新更新