最近在使用 conda 环境踩了个坑,运行 opencv 项目时弹出满屏的 Qthread 报错。

网上的解决方法大多是把 opencv-python 降级,或者 sudo 用包管理器安装到系统,但是都没有很彻底或者说优雅地解决问题。

问题描述

python 3.8 (conda) 环境下,运行 opencv 项目出现报错:QObject::moveToThread: Current thread(…) is not the object`s thread. Cannot move to target thread(…)。

问题溯源

以上报错是由于使用 conda 安装 pyqt ,用 pip 安装 opencv ,由版本冲突导致的:

如果您使用 Anaconda 虚拟环境并同时执行 conda install pyqtpip install opencv-python。 opencv-python 会在两个 PyQt 版本之间产生冲突并导致错误。

解决方案

卸载当前用 conda 装的 PyQt:

conda uninstall pyqt

通过 pip 安装 PyQt :

pip install PyQt5
pip install opencv-python

参考

解决方案参考 stackoverflow 答主 a_guest :原帖地址

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐