PyQt5 - pyuic5 因 SIP 版本错误而失败

Posted

技术标签:

【中文标题】PyQt5 - pyuic5 因 SIP 版本错误而失败【英文标题】:PyQt5 - pyuic5 failed with wrong SIP version 【发布时间】:2014-03-09 08:32:09 【问题描述】:

我在全新的 Qt5 安装上使用 Python3/PyQt5 时遇到了一个问题

我的环境是:

LSB Version:    core-2.0-amd64:core-2.0-noarch:core-3.0-amd64:core-3.0-noarch:core-3.1-amd64:core-3.1-noarch:core-3.2-amd64:core-3.2-noarch:core-4.0-amd64:core-4.0-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.4 LTS
Release:    12.04
Codename:   precise

我已经安装了 QT5 和 PyQt5 没有任何问题。从 QT UML 描述创建 py 模块时,该过程失败并出现 SIP 版本错误。

命令:

pyuic5 uml/console.ui -o console_ui.py

结果为:

 File "/usr/lib/python3.2/site-packages/PyQt5/uic/pyuic.py", line 26, in <module>
    from PyQt5 import QtCore
RuntimeError: the sip module implements API v8.0 to v8.1 but the PyQt5.QtCore module requires API v10.1
    pyuic5 ui_path/myfile.ui -o ui_path/myfile_ui.py

我的 SIP 版本是:

jeby6372@junon:~$ sip -V
4.15.4

SIP 4.15.4 是 RiverBank 提供的最新版本。

我已经删除了旧的 QT4 环境,所以我认为相应的旧 SIP 版本的链接有问题。

许多类似的问题已经发布在网络上,但没有一个得到有价值的答案。(当他们甚至得到回答时)。

感谢您的帮助。

伊曼纽尔。

【问题讨论】:

【参考方案1】:

只需要删除 python-sip 并重新安装 sip-4.15.4。打包的 python3-sip 对于 PyQt5 已经过时了

【讨论】:

以上是关于PyQt5 - pyuic5 因 SIP 版本错误而失败的主要内容,如果未能解决你的问题,请参考以下文章

PyQt5:pyuic5 - 未知的 Qt 小部件:QKeySequenceEdit

没有名为“PyQt5.sip”的模块

如何在 windows x86 上安装 pyqt5-sip

没有名为 PyQt5.sip 的模块

PyQt5 从 pyuic5 转换文件或 uic.loadUi 调用 gui

PyQt5中实现widget的功能,无需修改pyuic5生成的文件