我直接键入了pip install pyside2
,并成功安装了pyside2 5.15。但当我运行玩具示例时,出现了一个错误:
Traceback (most recent call last):
File "test.py", line 2, in <module>
from PySide2.QtWidgets import QApplication, QLabel
ImportError: /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2: symbol krb5_ser_context_init version krb5_3_MIT not defined in file libkrb5.so.3 with link time reference
我什么时候去/usr/lib/x86_64-linux-gnu
,发现了libgssapi_krb5.so.2
和libkrb5.so.3
,我不知道如何修复这个错误。有人能帮我吗?
我的环境:
python:3.8.3
操作系统:ubuntu 18.04
CPU:AMD ryzen 3600
您收到错误是因为您的机器上有错误版本的qt。我的意思是,anaconda似乎默认安装了错误版本的QT。首先,您需要安装必要的软件包(在此处输入链接描述(,然后执行以下步骤:
pip uninstall pyside2, qt, pyqt5
(如果已将其与pip
一起安装(conda remove pyside2, qt, pyqt5
(如果已将其与conda
一起安装(conda install -c conda-forge pyside2
我也遇到了类似的问题,尽管我没有使用anaconda。该错误似乎是PySide2和Ubuntu软件包之间的krb5版本不匹配。我能够通过从源代码编译krb5并将lib目录添加到LD_LIBRARY_PATH来解决这个问题。
tar xf krb5-1.18.2.tar.gz
cd krb5-1.18.2/src
./configure --prefix=/opt/krb5/
make && make install
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/krb5/lib
python -c "import PySide2.QtCore"
python导入不再引发错误。我发现这适用于官方网站上的几个不同的krb5版本;错误似乎出现在Ubuntu对软件包的修改中。
正如其他答案所建议的那样,您可能会成功地卸载和重新安装PythonQt绑定,但这对我来说不起作用。
只需构建pyside2依赖项。如果你想使用你的虚拟环境。
最终构建Clang Library
很抱歉,你上面的答案似乎是正确的,除了opencv的存在,它不在原始问题中。在我看来,Opencv与pyside2或这个问题无关。因此,在我看来,正确的程序是:
1. pip uninstall pyside2, qt, pyqt5 if you have installed them with pip
2. conda remove pyside2, qt, pyqt5 if you have installed them with conda
3. conda install -c conda-forge pyside2