You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.9+opencv-contrib-python4.6.0.66调用cv2.setNumThreads报错

解决AttributeError: module 'cv2' has no attribute 'setNumThreads'问题

问题描述

已安装Python 3.9与opencv-contrib-python 4.6.0.66(该配置在另一台电脑运行正常),执行from ultralytics import YOLO时,触发ultralytics/yolo/utils/__init__.py中第96行的cv2.setNumThreads(0)代码,抛出错误:

AttributeError: module 'cv2' has no attribute 'setNumThreads'

解决方案

1. 清理并重装OpenCV包

当前环境可能存在多个OpenCV相关包冲突(如同时安装了opencv-python、opencv-python-headless),导致cv2模块加载不完整。执行以下操作:

  • 卸载所有OpenCV相关包:
    pip uninstall -y opencv-python opencv-contrib-python opencv-python-headless
    
  • 重新安装指定版本的opencv-contrib-python:
    pip install opencv-contrib-python==4.6.0.66
    

2. 验证安装效果

打开Python交互环境,执行代码确认:

import cv2
print(cv2.__version__)  # 需输出4.6.0
print(hasattr(cv2, 'setNumThreads'))  # 需输出True

输出符合预期则说明cv2模块已正常安装。

3. 尝试全新Anaconda环境

若上述步骤无效,可能当前环境存在残留问题,创建新环境测试:

conda create -n yolo_env python=3.9
conda activate yolo_env
pip install opencv-contrib-python==4.6.0.66 ultralytics

在新环境中运行代码即可。

内容的提问来源于stack exchange,提问作者thestruggleisreal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 05:50:25