pyqt5报错:qt.qpa.plugin: Could not find the Qt platform plugin “xcb“(已解决)

我在使用pyqt库的时候报错:

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in \
"/mnt/private_disk/anaconda3/envs/aot-manip/lib/python3.8/site-packages/PyQt5/Qt5/plugins/platforms" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. \
Reinstalling the application may fix this problem.

启动调试模式:export QT_DEBUG_PLUGINS=1,我发现这么一段报错:

QFactoryLoader::QFactoryLoader() checking directory path \
"/mnt/private_disk/anaconda3/envs/aot-manip/bin/platforms" ...
Cannot load library .../libqxcb.so: (/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5: undefined symbol: \
_ZN23QPlatformVulkanInstance22presentAboutToBeQueuedEP7QWindow, version Qt_5_PRIVATE_API)

这个undefined symbol的问题我之前也遇到过!

经过多番询问AI,发现了问题的缘由:

根据你的调试输出,核心问题在于 libQt5XcbQpa.so.5 中存在未定义的符号
_ZN23QPlatformVulkanInstance22presentAboutToBeQueuedEP7QWindow,这表明 ​Qt 库版本存在不兼容或依赖链断裂。

于是通过 ldd /usr/lib/x86_64-linux-gnu/qt5/plugins/platforms/libqxcb.so 查看依赖的 Qt 库路径。我发现依赖的路径鱼龙混杂,有和anaconda相关的,有和coppeliaSim相关的,有在/usr/lib路径下的。

这和我之前使用CoppeliaSim时配置环境的遗留问题相关,执行vim ~/.bashrc,发现了之前的配置

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$COPPELIASIM_ROOT
export QT_QPA_PLATFORM_PLUGIN_PATH=$COPPELIASIM_ROOT
export LD_LIBRARY_PATH=/lib/x86_64-linux-gnu/:$LD_LIBRARY_PATH

解决方案比较简单,我首先注释掉了上面三行,不让pyqt去找系统目录下的LD_LIBRARY_PATHQT_QPA_PLATFORM_PLUGIN_PATH
然后在python代码中设置QT_QPA_PLATFORM_PLUGIN_PATH:

os.environ.update({"QT_QPA_PLATFORM_PLUGIN_PATH": \
"/mnt/private_disk/anaconda3/envs/aot-manip/lib/python3.8/site-packages/PyQt5/Qt5/plugins/platforms"})

网上还有一种配置方法export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms,据我猜测,这是使用c++开发Qt的配置方案,而我们用pip安装好的pyqt是自给自足的,不需要suda apt install Qt相关的库。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73362.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI大模型全攻略:原理 · 部署 · Prompt · 场景应用

🚀 AI大模型全攻略:原理 部署 Prompt 场景应用 本文从基础原理到实践部署,再到 Prompt 工程与典型应用案例,全方位解析 AI 大模型的学习路径与使用方法,适合开发者、产品经理、技术爱好者等不同背景读者。 🧠 一、什么是 AI 大模型? AI 大模型(Large Language Mo…

2024年MathorCup数学建模D题量子计算在矿山设备配置及运营中的建模应用解题文档与程序

2024年第十四届MathorCup高校数学建模挑战赛 D题 量子计算在矿山设备配置及运营中的建模应用 原题再现: 随着智能技术的发展,智慧矿山的概念越来越受到重视。越来越多的设备供应商正在向智慧矿山整体解决方案供应商转型,是否具备提供整体解…

Flink 流处理框架的核心特性

文章目录 事件时间支持Flink状态编程一、状态的类型1. 托管状态(Managed State)2. 原始状态(Raw State) 二、状态的管理和容错 Flink端到端的一致性1、检查点机制2、幂等3、事务 水位线窗口操作1、窗口类型2、窗口操作的时间语义 …

交换机(access端口)

任务&#xff1a;对access有更深入的理解 通过网盘分享的文件&#xff1a;交换机&#xff08;access&#xff09;.zip 链接: https://pan.baidu.com/s/1cMC6Na_1PLo6zOHazFplQQ?pwd23a5 提取码: 23a5 SW1 <Huawei>sys [Huawei]dis vlan The total number of vlans …

《鸟哥的Linux私房菜基础篇》---5 vim 程序编辑器

目录 一、vim程序编辑器的简介 二、命令模式快捷键&#xff08;默认模式&#xff09; 1、光标移动 2、编辑操作 3、搜索与替换 三、插入模式快捷键 四、底行模式快捷键&#xff08;按&#xff1a;进入&#xff09; 五、高级技巧 1、分屏操作 2、多文件编辑 3、可视化…

AI大白话(四):自然语言处理——AI是如何理解和生成人类语言的?

🌟引言: 专栏:《AI大白话》 AI大白话(一):5分钟了解AI到底是什么? AI大白话(二):机器学习——AI是怎么“学习“的? AI大白话(三):深度学习——AI的‘大脑‘是如何构建的? 大家好!欢迎回到"AI大白话"系列。前面我们聊了AI的基本概念、机器学习的原理…

扩展卡尔曼滤波

1.非线性系统的线性化 标准卡尔曼滤波 适用于线性化系统&#xff0c;扩展卡尔曼滤波 则扩展到了非线性系统&#xff0c;核心原理就是将非线性系统线性化&#xff0c;主要用的的知识点是 泰勒展开&#xff08;我另外一篇文章的链接&#xff09;&#xff0c;如下是泰勒展开的公式…

安装unsloth

我在llamafactory微调LLM&#xff0c;简单测了一些&#xff08;很不精准&#xff09;&#xff0c;加速方法中unsloth比flash_attention速度快了40%&#xff0c;显存占用减少15%&#xff1b; 创建虚拟环境&#xff1a;conda create -n env_name python3.10, 然后conda activate…

关于 51 单片机显示多个数码管时出现残影

残影现象&#xff1a; 出现残影代码&#xff1a; #include <REGX52.H> #include <INTRINS.H> void Delayxms(unsigned int x) //11.0592MHz {while(x){unsigned char i, j;_nop_();i 2;j 199; do{while (--j);} while (--i);x--;} } void DisplayDigitalNumb…

STM32学习笔记之常用外设接口(原理篇)

&#x1f4e2;&#xff1a;如果你也对机器人、人工智能感兴趣&#xff0c;看来我们志同道合✨ &#x1f4e2;&#xff1a;不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 &#x1f4e2;&#xff1a;文章若有幸对你有帮助&#xff0c;可点赞 &#x1f44d;…

InnoDB 引擎核心知识点

InnoDB 引擎核心知识点 6.1 逻辑存储结构 表空间&#xff08;Tablespace&#xff09;&#xff1a;所有数据逻辑上存储在一个表空间中&#xff0c;物理上可能由多个文件组成。段&#xff08;Segment&#xff09;&#xff1a;分为数据段&#xff08;B树叶子节点&#xff09;、索引…

深度学习 Deep Learning 第9章 卷积网络 CNN

深度学习 Deep Learning 第9章 卷积网络 章节概述 本章深入探讨了卷积网络的原理、变体及其在深度学习中的应用。卷积网络通过卷积操作实现了参数共享和稀疏连接&#xff0c;显著提高了模型的效率和性能。本章首先介绍了卷积操作的基本形式及其在不同数据维度上的应用&#x…

基于MATLAB的涡旋光和高斯光叠加产生平顶光

强度叠加耦合成平顶光&#xff0c;不发生干涉 通过分别生成高斯光和涡旋光的强度分布&#xff0c;然后按合适的权重将它们叠加&#xff0c;得到近似平顶光&#xff08;flat‐top beam&#xff09;的效果。由于我们只是将强度相加&#xff08;而非复振幅叠加&#xff09;&#…

wordpress-网站百宝箱插件

含置顶,网页宠物, 哀悼, 禁止复制, 禁止查看源码, 弹幕, WP优化,媒体分类,预加载,定时发布,在线客服, 留言板, 手机客服, 网站背景, 公告, 跑马灯, 水印, 分享, 打赏, 海报图, 广告,数据库管理,图片加载特效。等综合功能插件

北斗导航 | 基于北斗三号短报文通信的北斗-YOLO融合系统原理,算法公式,系统流程框图,matlab代码,应用场景

以下是关于基于北斗三号短报文通信的北斗-YOLO融合系统的详细解析,包含原理、算法公式、系统流程、Matlab代码框架和应用场景。一、系统原理 北斗-YOLO融合系统结合了北斗三号短报文通信(双向通信能力)和YOLO目标检测算法,用于在无地面网络覆盖区域实现实时目标检测与数据传…

Vue 中的日期格式化实践:从原生 Date 到可视化展示!!!

&#x1f4c5; Vue 中的日期格式化实践&#xff1a;从原生 Date 到可视化展示 &#x1f680; 在数据可视化场景中&#xff0c;日期时间的格式化显示是一个高频需求。本文将以一个邀请码关系树组件为例&#xff0c;深入解析 Vue 中日期格式化的 核心方法、性能优化 和 最佳实践…

试试智能体工作流,自动化搞定运维故障排查

APO 1.5.0版本全新推出的智能体工作流功能&#xff0c;让运维经验不再零散&#xff01;只需将日常的运维操作和故障排查经验转化为标准化流程&#xff0c;就能一键复用&#xff0c;效率翻倍&#xff0c;从此告别重复劳动&#xff0c;把时间留给更有价值的创新工作。更贴心的是&…

LeetCode-215. 数组中的第K个最大元素

1、题目描述 给定整数数组 nums 和整数 k&#xff0c;请返回数组中第 k 个最大的元素。 请注意&#xff0c;你需要找的是数组排序后的第 k 个最大的元素&#xff0c;而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入: [3,2,1…

分布式光伏防逆流管理:技术要点与实践解析

在国家“双碳”目标推动下&#xff0c;分布式光伏作为新能源体系的重要组成部分&#xff0c;正迎来快速发展。国家能源局近期发布的《关于做好新能源消纳工作保障新能源高质量发展的通知》明确提出&#xff0c;需加强网源协调与调节能力&#xff0c;优化新能源利用率。其中&…

Ubuntu capolar 上实现内网穿透

在官网https://www.cpolar.com/ 注册用户&#xff0c;获取tocken 1.1 安装cpolar 在Ubuntu上打开终端&#xff0c;执行命令 首先&#xff0c;我们需要安装curl&#xff1a; sudo apt-get install curl 国内安装&#xff08;支持一键自动安装脚本&#xff09; curl -L htt…