2013-07-18 62 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。