PyQt5 QtQuick 错误 - "libQt5Network undefined symbol: _Z24qt_subtract_from_timeoutii"

PyQt5 QtQuick Error - "libQt5Network undefined symbol: _Z24qt_subtract_from_timeoutii"

在我的 Ubuntu 14.04 上成功安装 PyQt5.5.1 和 Qt5.5.1 后,我 运行 我使用 QtQuick 的简单 pyqt 文件遇到了这个错误:

libQt5Network.so.5: undefined symbol: _Z24qt_subtract_from_timeoutii

有人 运行 以前参与过这个吗?

谢谢。

Python.py:

# Main Function
if __name__ == '__main__':

# Create main app
myApp = QApplication(sys.argv)

# Create a label and set its properties
appLabel = QQuickView()
appLabel.setSource(QUrl('basic.qml'))

# Show the Label
appLabel.show()

# Execute the Application and Exit
myApp.exec_()
sys.exit()

Basic.qml:

Grid {
    id: colorPicker

    rows: 2; columns: 3; spacing: 3

    Rectangle { color: "white";}
    Rectangle { color: "green";}
    Rectangle { color: "blue"; }
    Rectangle { color: "yellow";}
    Rectangle { color: "steelblue";}
    Rectangle { color: "black";}
}

原因是我还安装了python-Qt5,它是基于旧的Qt5版本。

find / -name libQt*

我可以在 /usr/lib 文件夹中看到一些旧的 qt 库:

/usr/lib/i386-linux-gnu/libQt5Network.so
/usr/lib/i386-linux-gnu/libQt5Network.so.5
/usr/lib/i386-linux-gnu/libQt5Network.so.5.2
/usr/lib/i386-linux-gnu/libQt5Network.so.5.2.1

/home/tad/Qt5.5.1/gcc/lib/libQt5Network.so.5.5
/home/tad/Qt5.5.1/gcc/lib/libQt5Network.so
/home/tad/Qt5.5.1/gcc/lib/libQt5Network.so.5.5.1
/home/tad/Qt5.5.1/gcc/lib/libQt5Network.so.5

/home/tad/Qt5.5.1/Tools/QtCreator/lib/qtcreator/libQt5Network.so.5
/home/tad/Qt5.5.1/Tools/QtCreator/lib/qtcreator/libQt5Network.so.5.5.1
/home/tad/Qt5.5.1/Tools/QtCreator/lib/qtcreator/libQt5Network.so.5

问题可能是 qt 库不一致,所以我删除了 /usr/lib 中的所有 qt 库,并将它们替换为我的主文件夹中的库。它起作用了!但是不推荐这样做,因为某些内置 Ubuntu 组件可能会在 /usr/lib 文件夹中使用 libQt*。所以,只需删除 python-qt5 并重新安装 pyqt5 即可!

顺便说一下,对于与 Sip API 版本相关的错误,我们只需要 运行 删除所有与 sip 相关的包,然后重新安装 sip:

dpkg -l | grep sip

然后

sudo apt-get purge python3-sip python3-sip-dev