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

3

我一直在试图在我的运行OS X El Capitan的Mac电脑上运行一个在Linux机器上编写并且没有任何问题的应用程序。该程序使用了PyQt4(4.11.4)和PySide (1.2.4),并且使用Python 3.4.2。我创建了一个虚拟环境,以确保所有内容都在正确的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,结果相同,然后我尝试了homebrew,结果仍然相同。这个问题可能是由于PySide和Python3.x的不兼容引起的吗?
我将非常感谢任何帮助!

我遇到了同样的问题。通过brew安装了QT,通过pip安装了PySide,不得不安装CMake及其命令行工具才能使后者正常工作,现在我遇到了相同的错误。任何帮助都将不胜感激。 - Frank Rueter
可能是PySide/Qt导入错误的重复问题。 - johnson
1个回答

5

我已经解决了它。

首先,按照这个主题 在这里

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

pip install -U PySide==1.2.2

在尝试导入PySide库时,我遇到了关于“
unsafe use of relative rpath
”的错误。
为了解决这些问题,我按照此建议进行了操作。
简而言之:我检查了库中是否存在相对链接,方法如下: otool -L /Library/Python/2.7/site-packages/PySide/QtCore.so 然后,我使用上面链接中概述的install_name_tool -change ...重新将其中的两个相对库链接到“/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文件执行相同的操作并重复。这个方法使得我在El Capitan上成功运行了PySide 1.2.2。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接