无法在macosx中导入pyqt4的子模块

时间:2015-10-11 21:32:31

标签: python macos qt

当我尝试在python 2.7.9上的macosx 10.10中导入pyqt4的子模块时出现以下错误:

$ python -c "from PyQt4 import QtCore"

ImportError: dlopen(/Users/Desktop/lib/python2.7/
site-packages/PyQt4/QtCore.so, 2): Library not loaded: @rpath/QtCore.framework/Versions/5/QtCore

Referenced from: /Users/Desktop/lib/python2.7/
site-packages/PyQt4/QtCore.so
Reason: image not found

我从:

安装了pyqt4

https://riverbankcomputing.com/software/pyqt/download

PyQt-mac-gpl-4.11.4.tar.gz MacOS / X源

cd PyQt-mac-gpl-4.11.4    python configure-ng.py --destdir = / Users / Desktop / lib / python2.7 / site- packages --sip-incdir = / Users / Desktop / include    使    make install

我有一个64位python 2.7.9并且我使用在线安装程序安装了qt。我没有从源代码编译它,因为这需要大量的内存。

我使用:

安装了qt

qt-unified-mac-x64-2.0.2-2-online.dmg,这是一个64位的qt。

我注意到pyqt4创建的每个.so文件都引用了一些不存在的dylib。例如,QtGui.so引用libQtGui.dylib, QtWidgets.so引用libQtWidgets.dylib,等等。每个PyQt4 Qt.so应该有一个匹配的libQt.dylib,它出现了。

有谁知道如何解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:1)

我通过卸载qt5.5并安装qt-opensource-mac-4.8.6-1.dmg解决了这个问题。安装完成后,只需重新编译pyqt4并进行安装。如下

python configure.py -q /usr/bin/qmake-4.8 -d /Library/Python/2.7/site-packages/ --sip /Library/Frameworks/Python.framework/Versions/2.7/bin/sip 

make

make install

答案 1 :(得分:0)

我通过确保为同一架构安装sip和pyqt4解决了这个问题。

具体来说,我安装了带有拱旗的sip,这是我之前没有做过的。

python configure.py -d /somefolder/lib/python2.7/site-packages -e /somefolder/lib/python2.7/site-packages -p darwin-g ++ --arch x86_64

然后make make install。

后来我安装了pyqt4

python configure.py --destdir = / somefolder / lib / python2.7 / site-packages --use-arch = x86_64 使 make install

这似乎解决了我的问题,我可以导入pyqt4子模块而不会出现任何错误。