Python3:导入错误:/lib/x86_64-linux-gnu/libQt5Core.so.5:未找到版本“Qt_5.15”

Okn*_*kno 4 python linux qt pyqt5 qtwebengine

我使用 Qt Designer 在 Qt 上创建了一个窗口,当我启动该应用程序时 - 我收到了 ImportError。感觉这个库没有安装在我的系统中。但预览在 Qt Designer 中有效。

设计文件的完整代码:

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'map.ui'
#
# Created by: PyQt5 UI code generator 5.15.0
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.


from PyQt5 import QtCore, QtGui, QtWidgets


class Ui_Form(object):
    def setupUi(self, Form):
        Form.setObjectName("Form")
        Form.resize(576, 616)
        self.horizontalLayout = QtWidgets.QHBoxLayout(Form)
        self.horizontalLayout.setObjectName("horizontalLayout")
        self.webView = QtWebEngineWidgets.QWebView(Form)
        self.webView.setUrl(QtCore.QUrl("https://www.openstreetmap.org/"))
        self.webView.setRenderHints(QtGui.QPainter.Antialiasing|QtGui.QPainter.SmoothPixmapTransform|QtGui.QPainter.TextAntialiasing)
        self.webView.setObjectName("webView")
        self.horizontalLayout.addWidget(self.webView)

        self.retranslateUi(Form)
        QtCore.QMetaObject.connectSlotsByName(Form)

    def retranslateUi(self, Form):
        _translate = QtCore.QCoreApplication.translate
        Form.setWindowTitle(_translate("Form", "VasMaps"))
        
from PyQt5 import QtWebEngineWidgets
Run Code Online (Sandbox Code Playgroud)

错误日志:

Traceback (most recent call last):
  File "Qt/map.py", line 31, in <module>
    from PyQt5 import QtWebEngineWidgets
ImportError: /lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.15' not found (required by /usr/local/lib/python3.8/dist-packages/PyQt5/QtWebEngineWidgets.abi3.so)
Run Code Online (Sandbox Code Playgroud)

PyQtWebEngine 包是通过 pip 安装的。

小智 5

我尝试卸载pyqt5并重新安装它,它有用吗?

在 pycharm 终端中:

pip3 uninstall PyQt5
Run Code Online (Sandbox Code Playgroud)

在 ubuntu 终端中:

sudo apt-get install python3-pyqt5
Run Code Online (Sandbox Code Playgroud)