AttributeError: module ‘mediapipe’ has no attribute ‘solutions’

### 问题场景 用户在使用 ComfyUI 便携版(Python 3.12.10)运行 **AIO_Preprocessor** 节点(具体为 MediaPipe Face 检测子节点)时触发此错误。该节点属于 `comfyui_controlnet_aux` 自定义插件套件,通常在加载 Cont

AttributeError: module 'mediapipe' has no attribute 'solutions'

### 问题场景

用户在使用 ComfyUI 便携版(Python 3.12.10)运行 **AIO_Preprocessor** 节点(具体为 MediaPipe Face 检测子节点)时触发此错误。该节点属于 `comfyui_controlnet_aux` 自定义插件套件,通常在加载 ControlNet 预处理器(如面部特征点检测)时调用。

### 报错原文

“`
!!! Exception during processing !!! module ‘mediapipe’ has no attribute ‘solutions’
Traceback (most recent call last):

File “…/custom_controlnet_aux/mediapipe_face/mediapipe_face_common.py”, line 8, in
mp_drawing = mp.solutions.drawing_utils
^^^^^^^^^^^^
AttributeError: module ‘mediapipe’ has no attribute ‘solutions’
“`

### 原因分析

**根源:`mediapipe` 库版本问题。**
`mediapipe` 在 0.10.10 至 0.10.20 版本间移除了 `solutions` API,导致旧代码(如 `mediapipe_face_common.py` 中 `mp.solutions.drawing_utils` 的调用)无法正常工作。该 API 在 0.10.21+ 中被临时恢复,但又在 0.10.31+ 中被**再次移除**。因此,用户安装的 `mediapipe` 版本要么低于 0.10.10,要么在 0.10.31 及以上(或恰好处于 0.10.10–0.10.20 区间)。

### 环境排查

– **Python 版本**:Python 3.12.x(用户系统为 3.12.10)
– **`mediapipe` 版本**:确认 `pip show mediapipe` 显示的版本号
– **`comfyui_controlnet_aux` 版本**:确认是否为最新版本(作者可能已适配新版 mediapipe)
– **ComfyUI 版本**:非关键,但建议保持更新

### 解决步骤

1. **先尝试升级 `mediapipe` 到兼容版本**(可优先尝试)
在 ComfyUI 的 Python 环境中执行:
“`bash
pip install mediapipe==0.10.19
“`
或通过 ComfyUI 管理器/终端手动指定版本。

2. **如果仍报错,升级到 0.10.21(已确认包含 `solutions` API)**
“`bash
pip install mediapipe==0.10.21
“`

3. **若用户安装的是 0.10.31+ 版本**(该版本再次移除了 `solutions` API)
**可优先尝试**回退到 0.10.21-0.10.30 之间的一个中间版本:
“`bash
pip install mediapipe==0.10.30
“`

4. **检查 `comfyui_controlnet_aux` 插件更新**
重新安装或拉取最新版插件,因为开发者可能已更新代码以兼容较新的 mediapipe:
“`bash
cd ComfyUI/custom_nodes/
git pull # 如果通过 git 安装
“`
或通过 ComfyUI 管理器更新。

### 验证方法

– 重启 ComfyUI 后,加载使用了 **AIO_Preprocessor** 或 **MediaPipe Face** 检测节点的工作流,确认不再弹出 `AttributeError: module ‘mediapipe’ has no attribute ‘solutions’` 错误。
– 在终端运行 `python -c “import mediapipe; print(mediapipe.__version__); print(hasattr(mediapipe, ‘solutions’))”`,如果输出 `True` 表示问题已解决。

### 参考来源

Fannovel16/comfyui_controlnet_aux #604

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

celebrityanime
celebrityanime
文章: 7749

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注