没有名为PyQt5.sip的模块

问题描述 投票:2回答:2

升级到python-pyqt5 5.12-2后,当我尝试从QtWidgets导入时出现此错误

from PyQt5.QtWidgets import * 

错误:

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'PyQt5.sip'

关于如何解决这个问题的任何想法?

python python-3.x qt pyqt pyqt5
2个回答
1
投票

原因是backward incompatible change in PyQt-5.11

geoptics,这个fix适用于新旧版本:

try:
    # new location for sip
    # https://www.riverbankcomputing.com/static/Docs/PyQt5/incompatibilities.html#pyqt-v5-11
    from PyQt5 import sip
except ImportError:
    import sip

1
投票

如果你使用make文件从源代码构建sip和PyQt5,请务必检查PyQt5安装docs。特别是,

注意

构建PyQt5 v5.11或更高版本时,必须使用类似于以下命令行配置SIP以创建sip模块的私有副本:

python configure.py --sip-module PyQt5.sip

如果您已经安装了SIP,并且只想构建并安装模块的私有副本,那么添加--no-tools选项。


0
投票

你应该将PyQt5.sip添加到隐藏的导入;应该解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.