ModuleNotFoundError:ComfyUI 中找不到模块 'groundingdino' 或 'segment_anything'
修复 ComfyUI SAM、GroundingDINO、蒙版和分割工作流中的 ModuleNotFoundError: No module named 'groundingdino' 或 'segment_anything' 错误。
社区知识
本页面基于常见的 ComfyUI 故障排查模式,尚未在所有环境中完整测试。在更改软件包之前,请先备份您的环境。
如果 ComfyUI 日志中出现 ModuleNotFoundError: No module named 'groundingdino' 或 ModuleNotFoundError: No module named 'segment_anything',说明某个分割自定义节点在注册其 ComfyUI 节点之前就已失败。
这些错误通常出现在 SAM、GroundingDINO、蒙版、背景移除和对象分割工作流中。它们不是 ComfyUI 核心包,通常属于某个自定义节点,例如 comfyui_segment_anything 或其他在启动时导入 SAM 或 GroundingDINO 的分割包。
在截至 2026 年 7 月 8 日的 Wonderful Launcher 遥测导出中,groundingdino 在过去 30 天内出现在 7 个安装的 46 次致命事件中,segment_anything 在同一时间窗口内出现在 5 个安装的 151 次致命事件中。除非启动日志指向不同的插件,否则将它们视为同一个分割修复链处理。
快速解答
修复启动 ComfyUI 的 Python 环境中第一个缺失的导入。对于 GitHub Windows 便携包:
.\python_embeded\python.exe -s -m pip install groundingdino-py
.\python_embeded\python.exe -s -m pip install git+https://github.com/facebookresearch/segment-anything.git
.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build只运行与您实际看到的错误相匹配的包命令。Python 导入修复后,您可能仍需要 GroundingDINO 和 SAM 模型文件。
错误示例
GroundingDINO 导入失败:
IMPORT FAILED: comfyui_segment_anything
Traceback (most recent call last):
File "...\custom_nodes\comfyui_segment_anything\__init__.py", line 1, in <module>
import groundingdino
ModuleNotFoundError: No module named 'groundingdino'SAM 导入失败:
IMPORT FAILED: ComfyUI-SAM
Traceback (most recent call last):
File "...\custom_nodes\ComfyUI-SAM\__init__.py", line 5, in <module>
from segment_anything import sam_model_registry, SamPredictor
ModuleNotFoundError: No module named 'segment_anything'可能触发此类错误的常见自定义节点包括 comfyui_segment_anything、ComfyUI-SAM、ComfyUI-Impact-Pack 的部分功能、背景移除节点以及其他与分割相关的插件包。
SAM 包、SAM 模型还是 GroundingDINO?
分割工作流可能在多个层面失败:
| 错误或症状 | 可能所在层 | 第一步操作 |
|---|---|---|
No module named 'groundingdino' | GroundingDINO Python 包缺失 | 仅在 ComfyUI 的 Python 中安装 groundingdino-py,然后重启 |
No module named 'segment_anything' | SAM Python 包缺失 | 从官方源将 Segment Anything 安装到 ComfyUI 的 Python 中 |
| GroundingDINO 节点加载但无可用的 GroundingDINO 模型 | 模型或配置文件缺失 | 将模型/配置文件放入自定义节点期望的文件夹中 |
| SAM 节点加载但无可用的 SAM 检查点 | 模型文件缺失 | 将 .pth 检查点放入该节点期望的文件夹中 |
No module named 'pycocotools' | 检测/分割辅助依赖缺失 | 仅在同一插件导入它时才安装 |
| 安装后 SAM/DINO 节点显示为红色 | 插件仍未能导入 | 阅读第一条 IMPORT FAILED 回溯信息 |
不要一次性安装所有分割包。修复第一个缺失的导入,重启,然后跟进下一个可见错误。
原因分析
- 自定义节点已克隆但其依赖项未安装
- SAM 和 GroundingDINO 是插件专属依赖项,不是 ComfyUI 核心依赖项
- 之前的环境重建或更新将其移除
- 该包安装在与 ComfyUI 使用的不同的 Python 环境中
- Python 包已修复,但所需的模型或配置文件仍然缺失
快速诊断
| 检查项 | 命令(便携版) | 预期结果 |
|---|---|---|
| GroundingDINO 是否已安装? | .\python_embeded\python.exe -s -m pip show groundingdino-py | 显示版本信息 |
| GroundingDINO 能否导入? | .\python_embeded\python.exe -s -c "import groundingdino; print('ok')" | 打印 ok |
| Segment Anything 能否导入? | .\python_embeded\python.exe -s -c "import segment_anything; print('ok')" | 打印 ok |
| 哪个节点需要它? | 读取启动日志中的 IMPORT FAILED | 指明自定义节点名称 |
| GroundingDINO 文件是否存在? | 检查 ComfyUI\models\grounding-dino\ 或插件 README | 包含预期的配置和模型文件 |
| SAM 模型是否已下载? | 检查 ComfyUI\models\sams\ 或插件 README | 包含 .pth 文件 |
安全手动修复
第一步:仅安装缺失的导入
如果错误提示 groundingdino:
Windows 便携版:
.\python_embeded\python.exe -s -m pip install groundingdino-py手动 venv:
python -m pip install groundingdino-py如果错误提示 segment_anything,使用官方 Segment Anything 源:
.\python_embeded\python.exe -s -m pip install git+https://github.com/facebookresearch/segment-anything.git手动 venv:
python -m pip install git+https://github.com/facebookresearch/segment-anything.gitPyPI 上也有 segment-anything 包,但 Meta 的官方仓库文档使用 GitHub 安装路径。当插件 README 给出具体命令时,优先遵循 README。
第二步:下载插件所需的模型文件
Python 包提供的是代码。分割工作流还需要模型文件。
对于 comfyui_segment_anything,README 期望 GroundingDINO 文件位于:
ComfyUI\models\grounding-dino\SAM 检查点位于:
ComfyUI\models\sams\对于 SAM,常见的检查点选择包括:
- SAM ViT-H(默认,最大):
sam_vit_h_4b8939.pth(约 2.4 GB) - SAM ViT-L(大型):
sam_vit_l_0b3195.pth(约 1.2 GB) - SAM ViT-B(基础,最小):
sam_vit_b_01ec64.pth(约 375 MB)
确切的文件夹取决于您的自定义节点配置。请查看节点的 README 以了解预期的模型位置。
第三步:检查额外依赖项
某些基于 SAM 的节点还需要:
.\python_embeded\python.exe -s -m pip install pycocotools仅在启动日志在修复第一个缺失包后显示额外导入错误时,才安装额外包。
第四步:重启并验证
.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-buildSAM 或 GroundingDINO 相关节点现在应出现在节点列表中。如果插件导入正常但执行在 GroundingDinoModelLoader 或 SAMModelLoader 处失败,则从 Python 包修复转向模型文件放置。
何时不应盲目运行 pip install
- Segment Anything 依赖
torch和torchvision。如果您的环境已有支持 CUDA 的 PyTorch,请避免使用会意外替换 Torch 或 TorchVision 的包命令 - GroundingDINO 可能会根据包路径、CUDA、Python 和平台编译或安装原生组件。如果错误变为编译器、CUDA 或 wheel 失败,请停止操作
- 某些自定义节点捆绑了自己的 SAM 代码,而不使用 pip 包。请检查节点 README 是否说明从 pip 安装还是从节点自身的 requirements 安装
- 不要安装
segment-anything-py或其他类似名称的包——它们可能是具有不同 API 的分支版本 - 当下一个错误是缺失的
.pth、配置文件或 Hugging Face 模型目录时,不要继续重复安装 Python 包
Wonderful Launcher 如何提供帮助
Wonderful Launcher 可以帮助区分各个修复阶段:插件导入、缺失的 Python 包、模型文件放置以及队列运行时错误。这对于 SAM/GroundingDINO 工作流尤为重要,因为修复 Python 导入后往往会暴露第二个模型文件问题。
下载 Wonderful Launcher——免费使用,无需重新安装即可恢复您的环境。
相关错误
- ComfyUI 插件导入失败
- 修复 ComfyUI 中的 No module named 错误
- ComfyUI ONNX 缺失
- 修复 ComfyUI 中的
cv2/ OpenCV 缺失 - ComfyUI 依赖冲突
- ComfyUI 启动失败
- 插件缺失模块警告:何时可以安全忽略
来源参考
先按上面的步驟定位根因。还卡住时,可以下载 Wonderful Launcher 检查目前机器;启动器原生修复、任务日誌和執行階段检查会集中在一起。credits 只用於图片生成和按量工具。
下载 Wonderful Launcher查看 credits 方案这篇文件解決了你的問题嗎?
你的回饋会帮助我们優先補強真實 ComfyUI 排障文件。