markdown复制## 1. 项目背景与环境配置
最近在调试ComfyUI的人脸处理工作流时,遇到了一个棘手的问题:新版MediaPipe(0.10.13)移除了旧版中的solutions模块,导致依赖该模块的多个插件(如FaceAlignSingle、PlanarFaceOverlay)无法正常运行。这个问题在Python 3.12环境下尤为突出,因为可用的MediaPipe版本本身就有限。
我的具体环境配置如下:
- 操作系统:Windows 11专业版
- ComfyUI版本:0.18.2(最新稳定版)
- Python版本:3.12.11(Anaconda虚拟环境)
- 关键依赖:
- mediapipe 0.10.13
- protobuf 6.33.0
- tensorflow 2.16.1
- 硬件配置:
- GPU:NVIDIA RTX 3090(24GB显存)
- RAM:128GB
这个问题的核心矛盾在于:新版MediaPipe进行了接口重构,彻底移除了旧版中常用的mediapipe.solutions模块及其子模块(如face_mesh、drawing_utils等),而ComfyUI的第三方人脸插件仍沿用旧版接口调用逻辑。
## 2. 问题现象与报错分析
在调试过程中,我遇到了5类典型报错,下面逐一分析其成因:
### 2.1 报错1:module 'mediapipe' has no attribute 'solutions'
这是最直接的报错,出现在插件尝试导入mediapipe.solutions时。新版MediaPipe确实移除了这个模块,导致Python解释器无法找到该属性。
错误日志示例:
```python
Traceback (most recent call last):
File "custom_nodes/__init__.py", line 11, in <module>
from mediapipe import solutions
ImportError: cannot import name 'solutions' from 'mediapipe'
2.2 报错2:ModuleNotFoundError: No module named 'm