我一直在尝试在运行 OS X El Capitan 的 Mac 上运行在 Linux 机器上编写的应用程序(并且没有任何问题)。该程序使用 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 库时,我收到了提示的错误



为了修复那些我遵循的 this advise

简而言之:我检查了库中的相关链接,如下所示:
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 文件。
这让 PySide 1.2.2 为我在 El Capitan 上工作。

关于python - PySide 导入错误 Mac OS X El Capitan,未加载库 : @rpath/libpyside. cpython-34m.1.2.dylib,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38315537/

10-12 19:08