ive been trying to run an application that was written on a Linux machine (and works without any issues), on my Mac running OS X El Capitan. the program utilizes PyQt4(4.11.4) and PySide (1.2.4), using Python 3.4.2. I created a virtualenv to guarantee that everything runs on the correct version of python. i have sip installed as well. However when i actually try to import anything from PySide it gives me the following error:
Traceback (most recent call last):
File "GUI.py", line 17, in <module>
from PySide import QtCore, QtGui, QtNetwork
ImportError: dlopen(/Users/mksmasr/.pyenv/versions/3.4.2/envs/pubdatapy34/lib/python3.4/site-packages/PySide/QtCore.so, 2): Library not loaded: @rpath/libpyside.cpython-34m.1.2.dylib
Referenced from: /Users/mksmasr/.pyenv/versions/3.4.2/envs/pubdatapy34/lib/python3.4/site-packages/PySide/QtCore.so
Reason: image not found
i cant seem to figure out the issue even after reading other SO posts and trying everything suggested.
when i run python at the command line and import PySide it imports it without an issue, the problem arises when trying to access anything inside of the PySide directory.
ive installed everything from source,it didn't work, so i tried pip,same issue, then i tried homebrew, and same issue. is the issue possibly PySide and python3.x compatibility?
I would appreciate any help!
答案 0 :(得分:4)
我得到了它的工作。 首先,遵循此主题here
这提供了从头开始使用PySide 1.2.2或构建1.2.4的选项。 我选择了1.2.2:
pip install -U PySide==1.2.2
之后,当尝试导入PySide库时,我抱怨错误
不安全地使用相对rpath
修复我关注的this advise
简而言之:我检查了库中的相关链接:
otool -L /Library/Python/2.7/site-packages/PySide/QtCore.so
然后我使用上面链接中概述的install_name_tool -change ...
将这里的两个相关库重新链接到&#34; / usr / local /..."。 E.g:
sudo install_name_tool -change libshiboken-python2.7.1.2.dylib /usr/local/lib/libshiboken-python2.7.1.2.dylib QtCore.so
sudo install_name_tool -change libpyside-python2.7.1.2.dylib /usr/local/lib/libpyside-python2.7.1.2.dylib QtCore.so
冲洗并重复所有.so文件。 这让PySide 1.2.2为我的El Capitan工作。