如何用Homebrew安装Qt4?LabelImg构建遇make错误求助
解决LabelImg在最新macOS+Python2环境下的Qt4安装及构建错误问题
我之前在最新版macOS上折腾过一模一样的LabelImg+Python2+Qt4的组合,踩了好几个坑,给你几个亲测有效的解决办法:
一、修复brew安装Qt4的问题
brew官方已经移除了Qt4的源,cartr/qt4是第三方维护的tap,但直接安装预编译包容易和新系统不兼容,建议从源码编译:
- 先清理旧的Qt相关安装和缓存:
brew cleanup brew uninstall --force qt brew untap cartr/qt4 || true - 重新添加tap并从源码安装Qt4:
注意:源码编译Qt4可能需要10-20分钟,耐心等待即可brew tap cartr/qt4 brew install cartr/qt4/qt --build-from-source
二、确保PyQt4(Python2绑定)正确安装
只装Qt4还不够,LabelImg需要PyQt4的Python绑定,用pip2安装时可能需要指定Qt4路径:
- 先设置环境变量,让pip找到Qt4:
export QTDIR=/usr/local/opt/qt export PATH=$QTDIR/bin:$PATH export PYTHONPATH=$QTDIR/lib/python2.7/site-packages:$PYTHONPATH - 安装PyQt4:
pip2 install pyqt4 --no-cache-dir
三、解决make: *** [qt4py2] Error 1构建错误
这个错误通常是因为Makefile里的Qt4资源编译器pyrcc4路径不对,或者环境变量没生效,有两个解决方式:
方式1:手动修改Makefile
打开LabelImg目录下的Makefile,找到qt4py2对应的行,把pyrcc4替换成绝对路径/usr/local/opt/qt/bin/pyrcc4,然后重新执行make qt4py2。
方式2:跳过make,直接手动运行
直接执行资源编译和启动命令,绕开Makefile的问题:
pyrcc4 -o resources.py resources.qrc python2 labelImg.py
四、备选方案:用Conda管理Python2+PyQt4环境
如果brew编译Qt4实在太麻烦,Conda的旧版本依赖支持更友好:
- 安装Miniconda2(Python2版本的Conda),然后创建专属环境:
conda create -n labelimg-py2 python=2.7 conda activate labelimg-py2 - 安装PyQt4:
conda install pyqt=4 - 克隆LabelImg源码后直接启动:
git clone https://github.com/tzutalin/labelImg.git cd labelImg python2 labelImg.py
额外建议
Python2已经停止维护多年,如果没有特殊需求,强烈建议切换到LabelImg的Python3版本,不需要Qt4,用Qt5/Qt6即可,步骤简单很多:
brew install qt pip3 install pyqt5 git clone https://github.com/tzutalin/labelImg.git cd labelImg make qt5py3 python3 labelImg.py
内容的提问来源于stack exchange,提问作者Andy
相关产品推荐
相关产品推荐

