python如何安装pyqt4

13次阅读

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

python如何安装pyqt4

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 文件 → 改用 pyuic5pyside6-uic 重新转换 UI

如仅为学习或调试老项目,建议在虚拟机docker 中运行旧环境(如 Ubuntu 16.04 + Python 3.5 + PyQt4);长期开发请果断切换至 PyQt5/6。不复杂但容易忽略。

text=ZqhQzanResources