当前位置: 首页 > news >正文

【笔记】解决 ComfyUI 安装节点 ComfyUI-Addoor (葵花宝典)后启动报错:No module named ‘ComfyUI-Addoor’

解决 ComfyUI 启动报错:No module named ‘ComfyUI-Addoor’

关键词:ComfyUI、Custom Nodes、ModuleNotFoundError、Python import、ComfyUI-Addoor


🧠 一、问题背景

ComfyUI-Addoor 节点 地址

在使用 ComfyUI 并安装第三方节点 ComfyUI-Addoor 后,虽然依赖包已正确安装(通过 requirements.txt),但在启动 ComfyUI 时仍然报错:

Error importing RunningHubInit: No module named 'ComfyUI-Addoor'
Error importing RunningHubNodeInfo: No module named 'ComfyUI-Addoor'
Error importing RunningHubWorkflowExecutor: No module named 'ComfyUI-Addoor'
Error importing RunningHubAccountStatus: No module named 'ComfyUI-Addoor'
Error importing RunningHubFileSaver: No module named 'ComfyUI-Addoor'
Error importing RunningHubWorkflowID: No module named 'ComfyUI-Addoor'
Error importing RunningHubFilePreviewer: No module named 'ComfyUI-Addoor'
Error importing RunningHubNodeInfoReplace: No module named 'ComfyUI-Addoor'
Error importing RunningHubImageUploader: No module named 'ComfyUI-Addoor'...

这些错误表明 Python 无法找到模块 ComfyUI-Addoor,尽管它确实存在于 custom_nodes 目录下。
而且 ComfyUI-Addoor 并非是一个可以 pip install 直接安装补齐的包或库,与其他的 No module named 'xxx' 报错的解决方式不同。


🔍 二、原因分析

Python 模块导入机制

Python 的 import 语句依赖于模块搜索路径(sys.path)。在 ComfyUI 的上下文中,某些节点作者可能假设了某种相对导入路径,例如:

module = import(f'ComfyUI-Addoor.rp.{module_name}', fromlist=[class_name])

然而,这种写法在 ComfyUI 启动时并不总是有效,因为:

  • ComfyUI-Addoor 并不是标准 Python 包结构;
  • ComfyUI 启动时并不会自动将 custom_nodes 加入模块搜索路径;
  • 使用 import() 动态导入时,模块路径必须能被 Python 解析。

✅ 三、解决方案

No module named ‘ComfyUI-Addoor’ 来自网友 Aljnk 的解决方案

(一)修改导入语句

我们手动修改了 ComfyUI-Addoor 的导入逻辑,使其使用更明确的路径:

# 原代码(可能出错)
module = import(f'ComfyUI-Addoor.rp.{module_name}', fromlist=[class_name])# 替换为
module = __import__(f'custom_nodes.ComfyUI-Addoor.rp.{module_name}', fromlist=[class_name])

(二)修改位置

通常位于以下文件:

ComfyUI\custom_nodes\ComfyUI-Addoor\rp\__init__.py**第39行**


🛠️ 四、修改说明

(一)原写法:
 

ComfyUI-Addoor.rp.{module}

(二)新写法:

custom_nodes.ComfyUI-Addoor.rp.{module}
  • __import__ 是 Python 的内建函数,允许动态导入模块;
  • 通过加上 custom_nodes 前缀,明确告诉 Python 模块的完整路径;
  • 这样即使模块没有被注册到 sys.path,也能正确导入。


⚠️ 五、注意事项

  • 此方法未经过全面测试,但在本地环境中成功消除了报错;
  • 若节点功能异常,建议检查是否有其他路径硬编码问题;
  • 若未来节点作者修复了导入方式,建议回退修改。
修复后 该 No module named 'ComfyUI-Addoor' 报错 消除

附修复后的测试启动日志:

Microsoft Windows [Version 10.0.27971.1]
(c) Microsoft Corporation. All rights reserved.(.venv) F:\PythonProjects\ComfyUI>start_comfyui.bat
[PluginManager] Initializing plugin environments...
[PluginManager] Bridge config written: F:\PythonProjects\ComfyUI\bridge_config.json
[PluginManager] Launching ComfyUI...
Adding extra search path checkpoints F:\PythonProjects\stable-diffusion-webui\models\checkpoints
Adding extra search path checkpoints F:\PythonProjects\stable-diffusion-webui\models\Stable-diffusion
Adding extra search path clip F:\PythonProjects\stable-diffusion-webui\models\clip
Adding extra search path clip_vision F:\PythonProjects\stable-diffusion-webui\models\clip_vision
Adding extra search path configs F:\PythonProjects\stable-diffusion-webui\models\configs
Adding extra search path configs F:\PythonProjects\stable-diffusion-webui\models\Stable-diffusion
Adding extra search path controlnet F:\PythonProjects\stable-diffusion-webui\models\controlnet
Adding extra search path diffusion_models F:\PythonProjects\stable-diffusion-webui\models\diffusion_models
Adding extra search path diffusion_models F:\PythonProjects\stable-diffusion-webui\models\unet
Adding extra search path diffusion_models F:\PythonProjects\stable-diffusion-webui\models\Stable-diffusion
Adding extra search path embeddings F:\PythonProjects\stable-diffusion-webui\models\embeddings
Adding extra search path embeddings F:\PythonProjects\stable-diffusion-webui\embeddings
Adding extra search path loras F:\PythonProjects\stable-diffusion-webui\models\loras
Adding extra search path loras F:\PythonProjects\stable-diffusion-webui\models\Lora
Adding extra search path loras F:\PythonProjects\stable-diffusion-webui\models\LyCORIS
Adding extra search path upscale_models F:\PythonProjects\stable-diffusion-webui\models\upscale_models
Adding extra search path upscale_models F:\PythonProjects\stable-diffusion-webui\models\ESRGAN
Adding extra search path upscale_models F:\PythonProjects\stable-diffusion-webui\models\RealESRGAN
Adding extra search path upscale_models F:\PythonProjects\stable-diffusion-webui\models\SwinIR
Adding extra search path vae F:\PythonProjects\stable-diffusion-webui\models\vae
Adding extra search path vae F:\PythonProjects\stable-diffusion-webui\models\VAE
[START] Security scan
[DONE] Security scan
## ComfyUI-Manager: installing dependencies done.
** ComfyUI startup time: 2025-10-23 10:38:47.043
** Platform: Windows
** Python version: 3.11.13 | packaged by Anaconda, Inc. | (main, Jun  5 2025, 13:03:15) [MSC v.1929 64 bit (AMD64)]
** Python executable: F:\PythonProjects\ComfyUI\.venv\Scripts\python.exe
** ComfyUI Path: F:\PythonProjects\ComfyUI
** ComfyUI Base Folder Path: F:\PythonProjects\ComfyUI
** User directory: F:\PythonProjects\ComfyUI\user
** ComfyUI-Manager config path: F:\PythonProjects\ComfyUI\user\default\ComfyUI-Manager\config.ini
** Log path: F:\PythonProjects\ComfyUI\user\comfyui.logPrestartup times for custom nodes:3.0 seconds: F:\PythonProjects\ComfyUI\custom_nodes\ComfyUI-ManagerCheckpoint files will always be loaded safely.
Total VRAM 24576 MB, total RAM 97560 MB
pytorch version: 2.8.0+cu128
xformers version: 0.0.32.post2
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA GeForce RTX 3090 : cudaMallocAsync
Using xformers attention
Python version: 3.11.13 | packaged by Anaconda, Inc. | (main, Jun  5 2025, 13:03:15) [MSC v.1929 64 bit (AMD64)]
ComfyUI version: 0.3.56
ComfyUI frontend version: 1.25.11
[Prompt Server] web root: F:\PythonProjects\ComfyUI\.venv\Lib\site-packages\comfyui_frontend_package\static
Imported AddPaddingAdvanced successfully
Imported AddPaddingBase successfully
Imported AD_ImageResize successfully
Imported AD_MockupMaker successfully
Imported AD_PosterMaker successfully
Imported AD_PromptSaver successfully
Imported ComfyUI-FofrToolkit successfully
Imported ComfyUI-ImageCaptioner successfully
Imported ComfyUI-imageResize successfully
Imported ComfyUI-textAppend successfully
Imported imagecreatemask successfully
Imported multiline_string successfully
Imported AddPaddingAdvanced successfully
Imported AddPaddingBase successfully
Imported AD_ImageResize successfully
Imported AD_MockupMaker successfully
Imported AD_PosterMaker successfully
Imported AD_PromptSaver successfully
Imported ComfyUI-FofrToolkit successfully
Imported ComfyUI-ImageCaptioner successfully
Imported ComfyUI-imageResize successfully
Imported ComfyUI-textAppend successfully
Imported imagecreatemask successfully
Imported multiline_string successfully
### Loading: ComfyUI-Manager (V3.37)
[ComfyUI-Manager] network_mode: public
### ComfyUI Version: v0.3.56-8-ge2d1e5da | Released on '2025-09-01'
Skip F:\PythonProjects\ComfyUI\custom_nodes\__init__.py module for custom nodes due to the lack of NODE_CLASS_MAPPINGS or NODES_LIST (need one).Import times for custom nodes:0.0 seconds (IMPORT FAILED): F:\PythonProjects\ComfyUI\custom_nodes\__init__.py0.0 seconds: F:\PythonProjects\ComfyUI\custom_nodes\websocket_image_save.py0.5 seconds: F:\PythonProjects\ComfyUI\custom_nodes\ComfyUI-Addoor0.7 seconds: F:\PythonProjects\ComfyUI\custom_nodes\ComfyUI-ManagerContext impl SQLiteImpl.
Will assume non-transactional DDL.
No target revision found.
Starting serverTo see the GUI go to: http://127.0.0.1:8188
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/alter-list.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/model-list.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/extension-node-map.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json
[ComfyUI-Manager] default cache updated: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/github-stats.json
FETCH ComfyRegistry Data: 5/101
FETCH ComfyRegistry Data: 10/101
FETCH ComfyRegistry Data: 15/101
FETCH ComfyRegistry Data: 20/101
FETCH ComfyRegistry Data: 25/101
FETCH ComfyRegistry Data: 30/101
FETCH ComfyRegistry Data: 35/101
FETCH ComfyRegistry Data: 40/101
FETCH ComfyRegistry Data: 45/101
FETCH ComfyRegistry Data: 50/101
FETCH ComfyRegistry Data: 55/101
FETCH ComfyRegistry Data: 60/101
FETCH ComfyRegistry Data: 65/101
FETCH ComfyRegistry Data: 70/101
FETCH ComfyRegistry Data: 75/101
FETCH ComfyRegistry Data: 80/101
FETCH ComfyRegistry Data: 85/101
FETCH ComfyRegistry Data: 90/101
FETCH ComfyRegistry Data: 95/101
FETCH ComfyRegistry Data: 100/101
FETCH ComfyRegistry Data [DONE]
[ComfyUI-Manager] default cache updated: https://api.comfy.org/nodes
FETCH DATA from: https://raw.githubusercontent.com/ltdrdata/ComfyUI-Manager/main/custom-node-list.json [DONE]
[ComfyUI-Manager] All startup tasks have been completed.

🧪 六、验证方法

  1. 修改完成后保存文件;
  2. 重启 ComfyUI;
  3. 控制台中不再出现 No module named 'ComfyUI-Addoor' 报错;
  4. 节点正常加载并可使用。

📌 七、总结

这类问题的本质是 Python 模块导入路径与 ComfyUI 的加载机制不匹配。通过手动修正导入路径,我们可以绕过模块解析失败的问题。虽然这不是“官方”修复方案,但在社区节点未更新前,是一个有效的临时解决方案。


📚 八、延伸阅读

  • Python 官方文档:import
  • ComfyUI GitHub 仓库
  • [ComfyUI 自定义节点开发指南(社区整理)]

我们正在攻关解决自定义节点(插件)安装后依赖会破坏 ComfyUI 和  Stable Diffusion WebUI 主程序的问题(依赖污染/不隔离),如果你也遇到类似问题,欢迎留言交流,或分享你节点导入的“踩坑”经历 和 提供好的思路 共建开源部署生产力方案!

http://www.dtcms.com/a/520792.html

相关文章:

  • 婚纱影楼网站源码财务管理咨询
  • 网站建设有什么作用推广网站的软文
  • 比特币P2PKH交易花费的核心流程与数据流转
  • 杰理蓝牙芯片开发平台API说明 21
  • 在 Sui 上构建《勇者前线》游戏的新篇章
  • 江西省建设工程学校网站cms管理什么意思
  • SAP SD 价格主数据创建接口分享
  • huggingface模型下载到本地
  • 有没有找人做标书的网站国外最开放的浏览器是哪个
  • react虚拟滚动
  • 网站404怎么做郑州短视频拍摄制作公司
  • 国外设计作品网站深圳龙岗区地图
  • 网站开发属于软件开发服务吗临沂seo公司稳健火星
  • windows安装rust
  • 图神经网络分享系列-GAT(GRAPH ATTENTION NETWORKS) (一)
  • C语言:整数转字符串(递归实现)
  • fpga芯片挂在线成功,但是固化程序失败的可能原因有哪些?
  • HarmonyOs鸿蒙开发,学生信息管理
  • Android实战进阶 - 单点登录与系统拦截
  • 简要说明网站建设的步骤最权威的做网站优化价格
  • 环境设计网站推荐北京战略咨询公司
  • golang学习笔记:标准库sort
  • VVIC 关键字搜索接口开发:快时尚场景下的智能分词与爆款优先排序实现
  • 数据结构——平衡二叉树
  • 基于Qt实现百度地图路径规划功能
  • 电力电子技术 第六章——磁元件模型
  • Qt+Qml客户端和Python服务端的网络通信原型
  • 个人音乐类网站服务器租借汉滨网站建设
  • Python“魔术方法”详解:self 与 other 的角色与交互
  • 每日SQL练习 -- 24年阿里(医院门诊复诊率与抗生素用药占比统计)