PySide 导入错误 Mac OS X El Capitan,未加载库:@rpath/libpyside.cpython-34m.1.2.dylib

PySide import error Mac OS X El Capitan, Library not loaded: @rpath/libpyside.cpython-34m.1.2.dylib

我一直在尝试 运行 在我的 Mac 运行 宁 OS X 埃尔卡皮坦。该程序利用 PyQt4(4.11.4) 和 PySide (1.2.4),使用 Python 3.4.2。我创建了一个 virtualenv 来保证所有 运行 都在 python 的正确版本上。我也安装了 sip。但是,当我实际尝试从 PySide 导入任何内容时,出现以下错误:

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

即使在阅读了其他 SO 帖子并尝试了所有建议之后,我似乎也无法解决问题。

当我 运行 python 在命令行中导入 PySide 时,它​​会毫无问题地导入它,当尝试访问 PySide 目录中的任何内容时就会出现问题。

我从源代码安装了所有东西,它没有用,所以我尝试了 pip,同样的问题,然后我尝试了自制软件,同样的问题。问题可能是 PySide 和 python3.x 兼容性吗?

如有任何帮助,我将不胜感激!

我让它工作了。 首先,关注这个话题here

这提供了使用 PySide 1.2.2 或从头构建 1.2.4 的选项。 我选择了 1.2.2:

pip install -U PySide==1.2.2

在那之后,当我尝试导入 PySide 库时,我遇到了错误

unsafe use of relative rpath

修正那些我关注的

简而言之:我检查了库中的相关 link,如下所示:

otool -L /Library/Python/2.7/site-packages/PySide/QtCore.so

然后我使用 install_name_tool -change ... 如上所述 link 将那里的两个相关库重新 link 到“/usr/local/...”。例如:

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 上工作。