如何在树莓派3的Python 2.7(Raspbian 11)环境中安装PyQt4?
解决Raspbian Bullseye下PyQt4安装问题
问题根源
- Raspbian 11(Bullseye)官方源已移除Python2和PyQt4的预编译包,
sudo apt-get install python-qt4无法找到对应包。 - 手动编译时的许可证错误,本质是系统默认安装的是Qt5,而PyQt4仅兼容Qt4,Qt5的许可证与GPL版PyQt4不匹配,且版本完全不兼容。
解决方案
方案一:手动编译Qt4 + PyQt4(适配原有Python2代码)
这是唯一能在Bullseye上运行PyQt4的方法,步骤如下:
- 安装编译依赖
sudo apt update && sudo apt install build-essential libx11-dev libxext-dev libxtst-dev libxrender-dev libxcb1-dev libx11-xcb-dev libxcb-xkb-dev libfontconfig1-dev libfreetype6-dev libssl-dev python2.7-dev python-pip
- 下载并编译Qt4(需选择Qt 4.8.7版本,与PyQt4 4.12.3兼容)
# 解压Qt4源码包后进入目录 cd qt-everywhere-opensource-src-4.8.7 ./configure -prefix /usr/local/qt4 -opensource -confirm-license -nomake examples -nomake demos make -j4 # 根据树莓派核心数调整,如Pi 3用-j2 sudo make install
- 设置环境变量让系统识别Qt4
echo 'export PATH=/usr/local/qt4/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/qt4/lib:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc
- 重新编译PyQt4
cd PyQt4_gpl_x11-4.12.3 sudo python configure-ng.py --qmake /usr/local/qt4/bin/qmake make -j4 sudo make install
方案二:迁移至PyQt5(推荐长期方案)
Python2已停止维护,PyQt4也不再更新,建议迁移代码到Python3 + PyQt5,安装命令:
sudo apt install python3-pyqt5
内容的提问来源于stack exchange,提问作者Ernesto Lomar
相关产品推荐
相关产品推荐

