升级到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'
关于如何解决这个问题的任何想法?
原因是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
如果你使用make文件从源代码构建sip和PyQt5,请务必检查PyQt5安装docs。特别是,
注意
构建PyQt5 v5.11或更高版本时,必须使用类似于以下命令行配置SIP以创建sip模块的私有副本:
python configure.py --sip-module PyQt5.sip
如果您已经安装了SIP,并且只想构建并安装模块的私有副本,那么添加--no-tools选项。
你应该将PyQt5.sip添加到隐藏的导入;应该解决这个问题。