最近在使用 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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐