ModuleNotFoundError: No module named ‘comfy.sd2_clip’

运行包含 CCSR_Model_Select 节点的 ComfyUI 工作流时,如果 comfyui-ccsr 自定义节点目录名与代码中硬编码的模块名不一致,就会触发 ModuleNotFoundError: No module named 'comfy.sd2_clip' 或 No module

快速结论:运行包含 CCSR_Model_Select 节点的 ComfyUI 工作流时,如果 comfyui-ccsr 自定义节点目录名与代码中硬编码的模块名不一致,就会触发 ModuleNotFoundError: No module named ‘comfy.sd2_clip’ 或 No module named ‘ComfyUI-CCSR’。优先检查 custom_nodes 下该节点的文件夹名大小写,以及 ccsr_stage2.yaml 中的 target 配置是否匹配。

适用环境:ComfyUI v0.3.9;Python 3.11.11(非嵌入式);PyTorch 2.5.1+cu124;NVIDIA GeForce RTX 4080 SUPER;OS posix;涉及 custom_nodes/comfyui-ccsr 节点及 CCSR_Model_Select 节点。Desktop 与 Portable 版本均有用户反馈触发。

最快修复方案:把 custom_nodes 下的 comfyui-ccsr 文件夹重命名为 ComfyUI-CCSR(大写),或把 custom_nodes\comfyui-ccsr\configs\model\ccsr_stage2.yaml 中所有 “ComfyUI-CCSR” 改为小写。两者均为 Issue 中用户验证有效的方案。

注意事项:重命名方案对不同部署方式效果不一致,有用户报告 Desktop 版重命名后仍无效,需进一步把 ComfyUI-CCSR 复制到 Lib > site-packages(Desktop 对应 venv 目录内,Portable 对应 python_embedded 目录内)。完成修复后还可能遇到 AttributeError: ‘Decoder’ object has no attribute ‘give_pre_end’,需手动修改 tilevae.py 第 226 行,并确保 custom_nodes 和 site-packages 两处副本同步修改,否则问题可能复现。

问题场景

用户在 ComfyUI 中运行一个简单工作流,工作流包含 CCSR_Model_Select 节点(Node ID: 2,Node Type: CCSR_Model_Select)。用户已下载正确的模型,但执行到该节点时加载失败,报错信息没有明确提示缺少的是哪个模块,导致排查困难。该问题在 Desktop 版和 Portable 版 ComfyUI 中均有用户遇到。

报错原文

ModuleNotFoundError: No module named 'comfy.sd2_clip'
Exception Type: ModuleNotFoundError
Exception Message: No module named 'ComfyUI-CCSR'

File "/home/pef/ComfyUI/custom_nodes/comfyui-ccsr/nodes.py", line 177, in load_ccsr_checkpoint
    self.model = instantiate_from_config(config)
File "/home/pef/ComfyUI/custom_nodes/comfyui-ccsr/utils/common.py", line 18, in instantiate_from_config
    return get_obj_from_str(config["target"])(**config.get("params", dict()))
File "/home/pef/ComfyUI/custom_nodes/comfyui-ccsr/utils/common.py", line 12, in get_obj_from_str
    return getattr(importlib.import_module(module, package=None), cls)

原因分析

从堆栈可以看出,问题发生在 custom_nodes/comfyui-ccsr/nodes.py 的 load_ccsr_checkpoint 中,通过 instantiate_from_config 读取配置的 target 字段,再由 get_obj_from_str 用 importlib.import_module 动态导入模块。报错的核心是动态 import 的目标模块名与磁盘上的实际文件夹名不一致。

可能原因包括:

  • custom_nodes 下的文件夹名为小写 comfyui-ccsr,而 ccsr_stage2.yaml 配置中 target 写的是大写 ComfyUI-CCSR,Python 导入模块时大小写敏感导致找不到。
  • 反之,文件夹被改成大写后,配置若仍写成小写同样会不匹配。
  • 模块没有被添加到 Python 可导入路径中,例如 Desktop 或 Portable 版本的 site-packages 路径下缺少该节点目录。
  • 配置文件位于 custom_nodes\comfyui-ccsr\configs\model\ccsr_stage2.yaml,其中的 target 字符串与实际目录名存在大小写偏差。

环境排查

  • 确认 ComfyUI 的启动方式:Desktop 版(venv 目录)还是 Portable 版(python_embedded 目录),两者 site-packages 路径不同。
  • 确认 custom_nodes 下该节点文件夹的实际名称,注意大小写是否与配置引用一致。
  • 确认 custom_nodes\comfyui-ccsr\configs\model\ccsr_stage2.yaml 中 target 字段的拼写与大小写。
  • 确认 Python 版本为 3.11.11,PyTorch 2.5.1+cu124,非嵌入式 Python。
  • 确认是否安装了重复副本:custom_nodes 和 site-packages 下可能各有一份,修改时容易漏掉某一份。
  • 确认 ComfyUI 版本为 v0.3.9,以及启动参数(如 –normalvram)没有异常影响。

解决步骤

  1. 先尝试最简方案:进入 ComfyUI 的 custom_nodes 目录,将 comfyui-ccsr 文件夹重命名为 ComfyUI-CCSR(大写)。重启 ComfyUI 后测试工作流。Issue 中有多位用户反馈此方法有效,包括 Portable 版用户。
  2. 如果重命名无效,改用配置修改方案:打开 custom_nodes\comfyui-ccsr\configs\model\ccsr_stage2.yaml,把所有出现的 “ComfyUI-CCSR” 改为小写 “comfyui-ccsr”,使其与文件夹名匹配。此方案被用户明确验证可解决问题。
  3. 如果以上都不行,尝试把整个 ComfyUI-CCSR 文件夹复制到对应 Python 环境的 site-packages 中:Desktop 版位于 venv 文件夹内,Portable 版位于 python_embedded 文件夹内。此步骤为社区用户补充方案,属于可优先尝试的排查方向。
  4. 完成上述任一修复后,若出现新报错 AttributeError: ‘Decoder’ object has no attribute ‘give_pre_end’,进入 ComfyUI-CCSR > utils 目录,用代码编辑器打开 tilevae.py,定位到第 226 行,把 if not is_decoder or not net.give_pre_end: 改为 if not is_decoder or not getattr(net, "give_pre_end", False):。
  5. 注意:如果同时存在 custom_nodes 和 site-packages 两份副本,tilevae.py 的修改必须在两份中都执行,否则可能只修好其中一处。
  6. 保存文件并重启 ComfyUI,重新运行原工作流验证。

验证方法

重启 ComfyUI 后重新执行之前失败的工作流,观察 CCSR_Model_Select 节点是否还能正常加载。若不再出现 ModuleNotFoundError,且没有紧接着抛出 give_pre_end 相关 AttributeError,则说明修复生效。建议再用一个简单工作流确认节点加载和执行链路完整。

参考来源

Comfy-Org/ComfyUI #6472

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 26813

发表回复

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