最近在使用 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 pyqt
和pip install opencv-python
。 opencv-python 会在两个 PyQt 版本之间产生冲突并导致错误。
卸载当前用 conda
装的 PyQt:
conda uninstall pyqt
通过 pip
安装 PyQt :
pip install PyQt5
pip install opencv-python
解决方案参考 stackoverflow 答主 a_guest :原帖地址