TypeError: str expected

这个报错通常出现在 ComfyUI 更新或安装了新版 comfyui_controlnet_aux 后,启动时该自定义节点导入失败,导致 ControlNet Aux 的预处理器(如 DWPreprocessor、LineArt)无法使用。优先排查节点版本是否与当前 ComfyUI 环境匹配,并回退

快速结论:这个报错通常出现在 ComfyUI 更新或安装了新版 comfyui_controlnet_aux 后,启动时该自定义节点导入失败,导致 ControlNet Aux 的预处理器(如 DWPreprocessor、LineArt)无法使用。优先排查节点版本是否与当前 ComfyUI 环境匹配,并回退到旧 commit 或更新到修复版本。

适用环境:Issue 中确认的环境为 Windows 上的 ComfyUI Portable(ComfyUI_windows_portable),通过 python_embeded 运行,PyTorch 为 2.0.1+cu118,同时安装了 ComfyUI-Manager 用于依赖安装。其他 Python、CUDA、显卡版本在 Issue 中未明确说明。

最快修复方案:作者在 Issue 中回复“Fixed”。可优先尝试更新 comfyui_controlnet_aux 到修复后的最新版;如果更新后仍然报错,则可按评论中已验证的临时方案,将节点回退到更新前的旧 commit。

注意事项:“更新到修复版本”是作者在 Issue 中确认的修复结论,但未给出具体 commit 或版本号;“回退旧 commit”只是评论者验证过的临时绕过方法,不是长期方案,后续升级时可能再次触发。修改前建议先备份 custom_nodes/comfyui_controlnet_aux 目录或记录当前 commit。

问题场景

用户在 Windows 便携版 ComfyUI 中更新了 comfyui_controlnet_aux 后启动 ComfyUI,启动日志中该节点显示 IMPORT FAILED,随后无法加载 DWPreprocessor;其他用户也反馈无法加载 LineArt 预处理器,并认为最近的更新破坏了所有预处理器。

报错原文

0.0 seconds (IMPORT FAILED): C:\Users\Big Bane\ComfyUI_windows_portable\ComfyUI\custom_nodes\comfyui_controlnet_aux
Cannot import C:\AI\ComfyUI\ComfyUI\custom_nodes\comfyui_controlnet_aux module for custom nodes: str expected, not int

原因分析

从 Issue 讨论看,问题出现在更新 comfyui_controlnet_aux 之后,评论中也有“最近的更新破坏了所有预处理器”的判断,因此最可能的原因是该次更新引入的代码变更导致模块导入阶段抛出 str expected, not int,从而使整个自定义节点导入失败,依赖该节点的 DWPreprocessor、LineArt 等预处理器随之不可用。具体是哪一处代码触发该 TypeError,Issue 中没有进一步说明。作者最终以“Fixed”确认已修复,说明问题应位于该项目的更新版本中。

环境排查

  • 确认 ComfyUI 是否为 Windows Portable 版本,并通过 python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build 启动。
  • 确认 custom_nodes\comfyui_controlnet_aux 是否为更新后出问题的版本,并记录当前 commit,方便回退。
  • 确认启动日志中是否明确出现 (IMPORT FAILED) 以及 str expected, not int。
  • 确认是否由 ComfyUI-Manager 自动安装/更新依赖;Issue 中可见它尝试安装 torch、importlib_metadata、huggingface_hub,但这些依赖均显示 Requirement already satisfied,与本次导入失败无直接证据关联。
  • 确认 PyTorch 版本为 2.0.1+cu118;若环境不同,需注意该报错是否仍能在你的环境中复现。

解决步骤

  1. 先查看启动日志,确认失败模块确为 comfyui_controlnet_aux,并记录核心报错 str expected, not int。
  2. 可优先尝试更新 comfyui_controlnet_aux 到作者修复后的版本,然后重启 ComfyUI。
  3. 如果更新后仍无法导入,可按评论中已验证的临时方案,将 comfyui_controlnet_aux 回退到更新前的旧 commit。
  4. 回退或更新完成后,重新启动 ComfyUI,观察该节点是否还显示 IMPORT FAILED。
  5. 若问题仍存在,建议在 Issue 中补充当前 commit、完整启动日志和依赖版本,便于进一步定位。

验证方法

重启 ComfyUI 后,确认启动日志中 comfyui_controlnet_aux 不再出现 (IMPORT FAILED),且 ControlNet Aux 的预处理器节点(如 DWPreprocessor、LineArt)可以正常加载和运行。

参考来源

Fannovel16/comfyui_controlnet_aux #76

GamsGo AI

AI 工具推荐

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

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

了解 GamsGo AI

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

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 25869

发表回复

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