我將PySide的一個下載副本從其原始安裝位置(/Library/PySide/2.7/site-packages/PySide)移動到網絡上的一個位置,因此腳本可以訪問它。但是,我開始得到「庫未加載」錯誤。我在我的桌面上製作的拷貝來進行測試:圖書館OSX上的PySide沒有加載錯誤
Traceback (most recent call last):
File "test_pyside_imports.py", line 2, in <module>
import PySide.QtCore
ImportError: dlopen(/Users/user/Desktop/PySide_OSX/PySide/QtCore.so, 2): Library not loaded: /Library/Python/2.7/site-packages/PySide/libpyside-python2.7.1.2.dylib
Referenced from: /Users/user/Desktop/PySide_OSX/PySide/QtCore.so
Reason: image not found
我也碰到這個問題之前運行,而且我相信,我有一個bash腳本,剛跑install_name_tool很多固定它:
#! /usr/bin/env bash
install_name_tool -change @rpath/libpyside-python2.7.1.2.dylib ./PySide/libpyside-python2.7.1.2.dylib ./PySide/QtCore.so
install_name_tool -change @rpath/libshiboken-python2.7.1.2.dylib ./PySide/libshiboken-python2.7.1.2.dylib ./PySide/QtCore.so
但是,由於某些原因,腳本似乎無法解決問題,並且QtCore.so仍在尋找原始位置的庫。我檢查了這些文件的權限,並在腳本中重複檢查了路徑。任何想法我缺少什麼?
謝謝。
編輯
越來越近。
#! /usr/bin/env bash
install_name_tool -change /Library/Python/2.7/site-packages/PySide/libpyside-python2.7.1.2.dylib ./PySide/libpyside-python2.7.1.2.dylib ./PySide/QtCore.so
install_name_tool -change /Library/Python/2.7/site-packages/PySide/libshiboken-python2.7.1.2.dylib ./PySide/libshiboken-python2.7.1.2.dylib ./PySide/QtCore.so
當我運行上面的bash腳本,然後嘗試做進口,我得到一個新的錯誤:
D25MG1AZF8J8:PySide_OSX spearsc$ python test_pyside_imports.py
Traceback (most recent call last):
File "test_pyside_imports.py", line 2, in <module>
import PySide.QtCore
ImportError: dlopen(/Users/spearsc/Desktop/PySide_OSX/PySide/QtCore.so, 2): Library not loaded: ./PySide/libpyside-python2.7.1.2.dylib
Referenced from: /Users/spearsc/Desktop/PySide_OSX/PySide/QtCore.so
Reason: unsafe use of relative rpath ./PySide/libpyside-python2.7.1.2.dylib in /Users/spearsc/Desktop/PySide_OSX/PySide/QtCore.so with restricted binary
我想用我的第一個bash腳本的問題是,老路徑不存在並被忽略。現在,我需要再次嘗試,但使用絕對路徑。