1、原因
这一般是由于当前系统安装了QT,且设置了环境变量。但是QT的版本与pyside2需要引用的QT相关so文件版本不一致,由于C++搜索依赖的时候首先查找环境变量,当在环境变量或其他配置中找到了QT的配置后,就不在python的site_packages中查找,从而导致以上的错误。
C++一般搜索顺序:
LD_PRELOAD>LD_LIBRARY_PATH>/etc/ld.so.cache>/lib>/usr/lib
2、解决方法
2.1 查看环境变量
echo $LD_LIBRARY_PATH
当上面的语句输出包含QT的配置的时候,基本上可以确定是环境变量引起的依赖加载顺序错误。
2.2 修改环境变量
通过查找以下文件,来查找QT的环境变量配置的地方:
sudo vim /etc/bash.bashrc
# 或者
sudo vim ~/.bashrc
如果在上方的配置中发现了QT环境变量的配置,则注释或删除掉
2.3 配置生效
修改完上方的环境变量配置后,需要执行命令使其生效:
source 你的配置文件
# 或者
source ldconfig
再次执行 echo $LD_LIBRARY_PATH 查看环境变量是否修改成功,若还不成功,则重启系统来生效配置。
修改完环境变量后,再次执行自己的PySide2代码,一般来说就不会报相关的错误了。