2013-07-18 29 views
1

我想在Python中做gui编程。我发现PySide是一个很好的开始。当我运行Python 2.7.2时,我下载了PySide 2.7并尝试运行一个示例应用程序。我得到了QtCore Library未加载的错误。图书馆没有加载:QtCore.framework /版本/ 4/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 

我用Google搜索,结果发现,很多人都面临着同样的问题,我看到了基于出口DYLD_FRAMEWORK_PATH解决方案张贴。我无法遵循这一点。 任何人都可以请告诉我这是什么问题,以及如何解决它! 谢谢..

回答

0

你没有提到你正在使用的操作系统,但从你的错误信息中的路径看起来像你在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。