PyQt4已停止维护且难以安装,因其被PyPI下架、依赖淘汰的Qt4和旧编译器,在Python 3.7+及新系统上基本无法成功安装;建议升级至PyQt5或PyQt6。

PyQt4 已于 2018 年停止维护,官方不再提供支持,且不兼容 Python 3.9+ 和现代系统(如 macOS Monterey+、较新 Linux 发行版)。不建议新项目安装 PyQt4,应优先考虑升级到 PyQt5 或 PyQt6(更稳定、有持续更新、文档完善、兼容主流 Python 版本)。
为什么很难成功安装 PyQt4?
主要原因包括:
- PyPI(pip 默认源)已下架所有 PyQt4 轮子(wheel),
pip install PyQt4会失败 - 源码编译依赖 Qt4(已淘汰),需手动安装 Qt4 开发库、SIP 工具,并适配旧编译器(如 Visual Studio 2015 对应 Python 3.6)
- 在 Python 3.7+ 上编译极易报错(如
PyLong_Check替换、API 变更等) - macOS 上因 SIP 机制和 Qt4 无官方二进制包,基本无法安装
如果必须运行遗留 PyQt4 代码(仅限测试/临时迁移)
可尝试以下有限可行路径(仅适用于 Python ≤ 3.6、Windows 7–10 或老旧 Linux):
-
Windows 用户:从第三方可信存档下载预编译的 .exe 或 .whl 文件(例如:Christoph Gohlke 的页面),选择匹配你 Python 版本和位数(如 cp36-win_amd64)的文件,然后执行:
pip install PyQt4‑4.11.4‑cp36‑cp36m‑win_amd64.whl -
Linux(Ubuntu/Debian):尝试系统包管理器(但通常为 Qt4 绑定,非标准 PyQt4):
sudo apt install python3-pyqt4(注意:模块名为PyQt4,但导入时可能需用from PyQt4 import QtCore, QtGui) -
不推荐源码编译:需先装 SIP 4.19.x、Qt 4.8.x,再运行
configure.py,过程繁琐且易失败
强烈建议的替代方案
将 PyQt4 代码迁移到 PyQt5/6,改动量通常可控:
立即学习“Python免费学习笔记(深入)”;
-
PyQt5 安装(推荐过渡):
pip install PyQt5(支持 Python 3.6–3.11,Windows/macOS/Linux 均有官方 wheel) -
PyQt6 安装(推荐新项目):
pip install PyQt6(最新特性,但注意部分 API 调整,如QtGui拆分为QtGui/QtWidgets) -
简单迁移提示:
- PyQt4 中
QtGui.QWidget→ PyQt5/6 中为QtWidgets.QWidget - 信号写法
self.connect(btn, SIGNAL('clicked()'), func)→ 改为btn.clicked.connect(func) - 使用
pyuic4生成的 .py 文件 → 改用pyuic5或pyside6-uic重新转换 UI
- PyQt4 中
如仅为学习或调试老项目,建议在虚拟机或 Docker 中运行旧环境(如 Ubuntu 16.04 + Python 3.5 + PyQt4);长期开发请果断切换至 PyQt5/6。不复杂但容易忽略。











