本周五,我的 PySide2 安装在 Ubuntu 18.04 容器(基于 nvidia/opengl:1.0-glvnd-runtime-ubuntu18.04)内停止工作。我现在收到以下错误:
python3 -c "from PySide2 import QtWidgets"
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.15' not found (required by /usr/local/lib/python3.6/dist-packages/PySide2/libpyside2.abi3.so.5.15)
我尝试通过手动编译Qt
RUN apt-get update && \
apt-get -y install -y \
clang \
libfontconfig1-dev \
libfreetype6-dev \
libx11-dev \
libxext-dev \
libxfixes-dev \
libxi-dev \
libxrender-dev \
libxcb1-dev \
libx11-xcb-dev \
libxcb-glx0-dev \
libxkbcommon-x11-dev \
libxcb-keysyms1-dev \
libxcb-image0-dev \
libxcb-shm0-dev \
libxcb-icccm4-dev \
libxcb-sync0-dev \
libxcb-xfixes0-dev \
libxcb-shape0-dev \
libxcb-randr0-dev \
libxcb-render-util0-dev && \
rm -rf /var/lib/apt/lists/*
RUN cd /tmp && wget http://download.qt.io/official_releases/qt/5.15/5.15.0/single/qt-everywhere-src-5.15.0.tar.xz && \
tar -xf qt-everywhere-src-5.15.0.tar.xz && tar -xf qt-everywhere-src-5.15.0.tar.xz && \
rm qt-everywhere-src-5.15.0.tar.xz && cd qt-everywhere-src-5.15.0 && export QT5PREFIX=/opt/qt5 && \
./configure -prefix $QT5PREFIX \
-sysconfdir /etc/xdg \
-confirm-license \
-opensource \
-system-harfbuzz \
-nomake examples \
-no-rpath \
-skip qtwebengine && \
make && make install
(并将其添加到 PATH)但这没有帮助(相同的错误)。
我也尝试使用默认包,即 apt install qt5-default python3-pyside python3-pip
,但是尽管安装了 PySide,但找不到 PySide2 模块,所以我通过 pip 安装了它好吧,即 python3 -m pip install -U pip && python3 -m pip install PySide2 。但即便如此,我又遇到了同样的问题。至少在这里我明白了,因为我使用存储库中的版本安装了Qt 5.9.5。
有人可以帮助我运行导入,以便我可以像上周中旬那样再次运行 PySide2 绑定(bind)吗?预先感谢您。
附录
我还尝试创建一个包含以下内容的 /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf
文件
/opt/qt5/bin
/opt/qt5/lib
指向我手动编译的Qt,但无济于事。
更新:我认为这与我在编译 Qt 之前编译 OMPL 有关,Qt 安装了自己的 Qt 版本。因此 PySide2 选择了错误的版本。但是,我无法将其指向正确的 Qt 版本。除了我已经提到的之外,有人可以回顾一下我需要为此设置哪些变量吗?预先感谢您。
最佳答案
将 pyside2 导入移至其他导入的顶部:
from PySide2.QtCore import *
from PySide2.QtGui import *
from PySide2.QtWidgets import *
# other imports
关于python - PySide2 找不到 Qt_5.15,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62135234/