2012-08-05 105 views
2

與pyside 1.1.0在OSX 10.7運行cxfreeze 4.2.3我得到:cxfreeze找不到libpyside,蟒蛇

複製libpyside-python2.7.1.1.dylib - >編譯/ exe.macosx-10.7 -intel-2.7/libpyside-python2.7.1.1.dylib 錯誤:libpyside-python2.7.1.1.dylib:沒有這樣的文件或目錄

它發現PySide模塊輸出沒有問題:

複製/Library/Python/2.7/site-packages/PySide/QtCore.so - > build/exe.macosx-10.7-intel-2.7/PySide.QtCore.so

使用osx的python2.7並且沒有安裝MacPorts

+1

在cx_Freeze郵件列表上詢問,有一些mac用戶可能有想法。另外,請嘗試更新到cx_Freeze 4.3。 – 2012-08-06 16:55:39

+0

Thx托馬斯K,4.3是一樣的,嘗試清單。 – navicore 2012-08-07 17:48:09

回答

2

發生這種情況是因爲cx_Freeze從otool -L獲取庫的輸出並將其用作複製庫的絕對路徑。

在我的情況下,這是一個問題,因爲這些庫位於每臺機器上不同的虛擬環境中,因此cx_Freeze無法找到這些庫。您可以使用install_name_tool命令修復此問題以替換路徑。我將項目的引導腳本設置爲掃描虛擬環境中存在的庫的所有.so或.dylib文件,並交換路徑。

手動做到這一點是:

otool -L /Library/Python/2.7/site-packages/PySide/QtCore.so 
install_name_tool -change "<path listed for libpyside above>" "<actual path to libpyside" /Library/Python/2.7/site-packages/PySide/QtCore.so 

要小心這樣做了這樣的一個全球性的文件,你可能會更好具有在virtualenv中環境的事情。