ubuntu18.04上的pyside2安装问题,anaconda上的python 3.8.3
Posted
技术标签:
【中文标题】ubuntu18.04上的pyside2安装问题,anaconda上的python 3.8.3【英文标题】:pyside2 installation problem on ubuntu18.04, python 3.8.3 on anaconda 【发布时间】:2020-07-31 05:50:27 【问题描述】:安装anaconda3后,我开始安装pyside2。
我直接输入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
,我不知道如何修复这个错误。有人可以帮帮我吗?
我的环境:
蟒蛇:3.8.3
操作系统:ubuntu 18.04
CPU:AMD 锐龙 3600
【问题讨论】:
你安装了什么版本的kerbors? 【参考方案1】:您收到错误是因为您的机器上安装了错误的 qt 版本。我的意思是,anaconda 似乎默认安装了错误的 QT 版本。首先,您需要安装必要的软件包(enter link description here),然后执行以下步骤:
pip uninstall pyside2, qt, pyqt5
如果您已使用 pip
安装它们
conda remove pyside2, qt, pyqt5
如果您使用 conda
安装它们
conda install -c conda-forge pyside2
【讨论】:
链接是否相关?它/应该通向哪里?为什么选择 opencv?【参考方案2】:虽然我没有使用 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 对软件包的修改中。
按照其他答案的建议,您可能已成功卸载并重新安装 Python Qt 绑定,但这对我不起作用。
【讨论】:
【参考方案3】:只需在 pyside2 dependencies 中构建。如果你想使用你的虚拟环境。
结束构建Clang Library
【讨论】:
【参考方案4】:对不起,您上面的答案似乎是正确的,除了 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
【讨论】:
这不会破坏任何依赖 pyqt5 的东西吗?比如spyder?以上是关于ubuntu18.04上的pyside2安装问题,anaconda上的python 3.8.3的主要内容,如果未能解决你的问题,请参考以下文章
如何从安装在 Ubuntu 18.04 VirtualBox 上的 Wordpress Web 界面写入/上传
PySide2(Qt for Python)在 Linux 上的 Qt Designer 安装在哪里?