A cup of coffee
A heart set free

从依赖地狱到成功运行:ComfyUI Nunchaku完整攻略

凌晨两点,我盯着屏幕上那个刺眼的错误提示:"Missing Node Types: NunchakuQwenImageDiTLoader"。这是我今晚第十七次看到这行字。桌上的咖啡早就凉透了,我甚至开始怀疑人生——装个插件而已,怎么就这么难?后来我才明白,这不是一场简单的插件安装,而是一次与Python依赖地狱的正面交锋。如果你也曾在ComfyUI的工作流加载界面前抓狂,那这篇文章就是写给你的。因为我替你踩完了所有的坑,现在轮到你抄近道了。

第一章:当一切看起来很简单的时候

问题的开端

故事要从一个看似普通的需求说起:我想用ComfyUI做视频生成。工作流文件下载好了,模型也准备齐了,满怀期待地点击加载,然后——

Missing Node Types: EmptyHunyuanLatentVideo, SaveVideo, CreateVideo

三个节点,集体失踪。😰

这种感觉就像你兴冲冲跑到电影院,爆米花都买好了,结果发现电影院今天不放映。但问题是,电影明明在海报上,票也卖了,就是放不了。

第一次天真的尝试

按照常规思路,缺少节点?那就装插件呗。打开ComfyUI Manager,搜索相关插件:

插件名称 状态 问题
VideoHelperSuite ✅ 已安装 IMPORT FAILED
HunyuanVideoWrapper ✅ 已安装 节点不匹配
ComfyUI-nunchaku ✅ 已安装 所有节点加载失败

等等,已安装但是失败? 这就像你的车钥匙插进去了,但就是打不着火。问题出在哪儿?

启动日志给了答案:

ModuleNotFoundError: No module named 'av'
Nunchaku version: Package 'nunchaku' not found.

好家伙,插件装了,但依赖包没装。这就是故事真正开始变得有趣的地方。

第二章:在依赖地狱里打转

VideoHelperSuite:一个缺少的字母

第一个问题相对简单。VideoHelperSuite 失败是因为缺少 PyAV 包,具体来说,就是一个叫 <code>av</code> 的Python模块。

解决起来也直接:

& "I:\ComfyUI\.ext\python.exe" -m pip install av

安装过程倒是顺利,几十兆的文件下载完,重启ComfyUI,VideoHelperSuite 成功加载。✅

两个节点解决了! SaveVideo 和 CreateVideo 可以用了。但 Nunchaku 的问题才是真正的噩梦。

Nunchaku:版本号的迷宫

当我看到这行日志时,我觉得问题不大:

Nunchaku version: Package 'nunchaku' not found.
Please update nunchaku to a supported version in ['v1.0.0']

需要 1.0.0 版本?简单,装一个呗:

pip install nunchaku==1.0.0

然后 pip 告诉我:

ERROR: Could not find a version that satisfies the requirement nunchaku==1.0.0

什么意思? PyPI 上根本没有 1.0.0 版本!😱

我去查了一下,PyPI 上的 nunchaku 版本是这样的:

  • 0.1.0
  • 0.15.0 ~ 0.15.4
  • 0.16.0 ~ 0.16.1

没有 1.0.0! 完全没有!

这就像你去便利店买可乐,店员说:"我们只有 0.15 升和 0.16 升的,没有 1.0 升的。"你说:"那我要 0.15 升的吧。"然后回家一喝,发现根本不是可乐,是雪碧。

试试 0.15.4 吧

既然 PyPI 上有 0.15.4,那就试试呗。也许插件能兼容?

pip install nunchaku==0.15.4

安装成功!重启 ComfyUI,然后:

Nunchaku version: 0.15.4
ComfyUI-nunchaku 1.0.1 is not compatible with nunchaku 0.15.4
Node <code>NunchakuQwenImageDiTLoader</code> import failed:
ModuleNotFoundError: No module named 'nunchaku.utils'

还是不行。 原来 PyPI 上的 nunchaku 和插件需要的 nunchaku 根本就是两个东西!😤

这就像你在淘宝搜"苹果",结果买到的是水果,而你要的是手机。名字一样,但压根不是一个东西。

GitHub 上的 40 个 Wheel 文件

在绝望之际,我找到了 MIT Han Lab 的 nunchaku GitHub 仓库。点开 releases,看到了这个场景:

40 个 wheel 文件。 按照 PyTorch 版本、Python 版本、操作系统分类,密密麻麻。

PyTorch版本 Python版本 操作系统 文件大小
2.5 3.10/3.11/3.12 Windows/Linux 131MB
2.6 3.10/3.11/3.12 Windows/Linux 131MB
2.7 3.10/3.11/3.12 Windows/Linux 131MB

我的环境是什么来着?

  • Python 3.11 ✓
  • PyTorch 2.3.1 ✗
  • Windows ✓

等等,我的 PyTorch 是 2.3.1,但最低的 wheel 是 torch2.5!

下载了 <code>nunchaku-1.0.0+torch2.5-cp311-cp311-win_amd64.whl</code>,满怀希望地安装:

pip install "H:\download\nunchaku-1.0.0+torch2.5-cp311-cp311-win_amd64.whl"

安装成功!重启,然后:

ImportError: DLL load failed while importing _C: 找不到指定的程序。

DLL 加载失败。 这是底层 C++ 扩展的问题,意味着这个为 PyTorch 2.5 编译的包,在 PyTorch 2.3 上根本跑不起来。

这就像你买了个 iPhone 15 的手机壳,硬往 iPhone 13 上套,当然套不进去。

那个被忽略的简单方案

折腾了三个小时后,我突然想起一个问题:为什么不直接升级 PyTorch?

打开 ComfyUI Launcher,在"安装 PyTorch"界面,看到了这个下拉菜单:

Torch 2.7.0 (CUDA 12.6) + xFormers 0.0.30
Torch 2.6.0 (CUDA 12.6) + xFormers 0.0.29.post3
Torch 2.5.1 (CUDA 12.4) + xFormers 0.0.28.post3
...
Torch 2.3.1 (CUDA 12.1) + xFormers 0.0.27  ← 当前版本

我擦,原来可以一键升级。 🤦

选择 <code>Torch 2.7.0 (CUDA 12.6) + xFormers 0.0.30</code>,点击安装,等了几分钟,重启 ComfyUI。

然后神奇的事情发生了:

--- Trying source: modelscope for version 1.0.1 ---
--- Attempting to install: nunchaku-1.0.1+torch2.7-cp311-cp311-win_amd64.whl ---
--- Successfully installed from modelscope ---

ComfyUI 自动从 modelscope 下载并安装了正确版本的 nunchaku! 🎉

不需要手动下载 wheel 文件,不需要折腾 pip,不需要纠结版本号。只要 PyTorch 版本对了,一切都自动搞定。

再次重启,查看日志:

Nunchaku version: 1.0.1
ComfyUI-nunchaku version: 1.0.1

完美匹配! 所有 Nunchaku 节点成功加载!✅

第三章:为什么绕了这么大一圈

问题的本质

回过头看,整个折腾过程其实就是一个误区:我一直在试图不动 PyTorch 的前提下解决问题。

为什么会这样想?因为:

  1. 升级核心依赖有风险 – 担心破坏其他插件
  2. 习惯性地先尝试小改动 – 能不动就不动
  3. 没意识到新插件就是为新版本设计的 – 思维定式

但实际上,现代的ComfyUI生态已经很成熟了:

  • 版本管理很完善 – Launcher 支持一键切换
  • 依赖自动处理 – 升级 PyTorch 后会自动安装匹配的包
  • 回滚很容易 – 出问题可以快速降回旧版本

最直接的方案往往就是最好的方案。 这句话在技术领域永远成立。

完整的解决方案总结

如果你也遇到了 Nunchaku 节点缺失的问题,这是最简化的解决流程:

步骤一:升级 PyTorch

打开 ComfyUI Launcher → 选择"安装 PyTorch" → 选择最新的稳定版本(推荐 2.7.0 或更高)→ 点击安装

步骤二:重启 ComfyUI

完全关闭后重新启动,系统会自动检测并安装匹配的依赖包。

步骤三:验证安装

加载工作流,检查是否还有 Missing Nodes 错误。如果只是文件路径问题(比如 LoRA 找不到),那就说明节点已经成功加载了。

就这么简单。 三步,可能总共用不了10分钟。

而我之前绕的那一大圈,花了三个小时。

其他可能遇到的问题

当然,并不是所有情况都这么顺利。在解决 Nunchaku 的过程中,我还遇到了这些坑:

1. VideoHelperSuite 缺少 PyAV

如果你遇到 <code>ModuleNotFoundError: No module named 'av'</code> 错误:

& "I:\ComfyUI\.ext\python.exe" -m pip install av

一行命令搞定。PyAV 是视频处理的核心库,VideoHelperSuite 必须要它。

2. 损坏的插件文件夹

有些插件文件夹可能是空的或者下载不完整(比如我遇到的那几个 <code>__init__.py</code> 缺失的插件)。解决方法:

  • 在 ComfyUI Manager 里直接卸载
  • 或者手动删除 <code>custom_nodes</code> 下的对应文件夹
  • 然后重新安装

3. 工作流文件路径问题

即使节点加载成功,工作流可能因为文件路径不匹配而报错。比如:

lora_name: 'FLUX/flux1-turbo.safetensors' not in [...]

这说明工作流里写的是 <code>FLUX/</code> 子文件夹,但你的 LoRA 文件直接放在 <code>models/loras/</code> 根目录下。

解决办法:

  • 在节点的下拉菜单里重新选择正确的文件
  • 或者按照工作流的路径结构创建子文件夹

给后来者的建议

如果你正准备折腾 ComfyUI 的视频生成功能,这里有几条血泪教训:

关于环境配置:

  • 优先考虑升级到最新稳定版 – PyTorch、ComfyUI 本体、插件都是
  • 用 Launcher 管理版本 – 别手动 pip install,除非必要
  • CUDA 驱动保持更新 – 新版 PyTorch 需要新驱动支持
  • 不要混用不同渠道的包 – PyPI 和 GitHub 的同名包可能完全不同

关于插件安装:

  • 看清楚插件的要求 – README 里通常会写需要什么版本
  • 先检查日志 – 错误信息往往已经告诉你缺什么了
  • 一个一个解决 – 别多个问题一起搞,会乱
  • 不要盲目相信"最新就是最好" – 有时候稳定版更靠谱

关于问题排查:

  • 保存启动日志 – 出问题时方便回溯
  • Google 搜索错误信息 – 很多人遇到过同样的问题
  • 去 GitHub Issues 看看 – 插件作者可能已经有解决方案
  • 不要一条路走到黑 – 如果某个方向试了三次还不行,换思路

工具箱:常用命令速查

最后,整理一些在折腾过程中常用的命令,方便你复制粘贴:

检查 Python 包版本:

& "I:\ComfyUI\.ext\python.exe" -m pip list | Select-String "包名"

安装指定版本的包:

& "I:\ComfyUI\.ext\python.exe" -m pip install 包名==版本号

卸载包:

& "I:\ComfyUI\.ext\python.exe" -m pip uninstall 包名 -y

查看 PyTorch 版本:

& "I:\ComfyUI\.ext\python.exe" -c "import torch; print(torch.__version__)"

更新 Git 插件:

cd I:\ComfyUI\custom_nodes\插件名
git pull

查看 CUDA 版本:

nvidia-smi

写在最后的话

从晚上十点折腾到凌晨两点,为了装一个插件,我经历了从自信到怀疑,从绝望到柳暗花明的完整过程。现在回想起来,最简单的方案往往被我们最先忽略,因为我们总觉得"不至于这么简单"。

技术的世界就是这样,有时候你需要的不是更复杂的解决方案,而是退一步,看看最基础的地方是不是出了问题。PyTorch 版本不对,再怎么折腾依赖包也没用。 这个道理看起来很简单,但只有真正踩过坑的人才能体会。

如果这篇文章能让你少走一些弯路,少熬一些夜,那我这三个小时就没白费。毕竟,我们折腾技术的目的是为了创造,而不是为了在依赖地狱里无限循环。

现在,工作流终于能跑了,该去做点真正有意思的事情了。比如,用 Nunchaku 生成一个视频,内容就叫《如何正确地浪费一个晚上》。😄


最后提醒一句:技术文档和教程是有时效性的。今天能用的方法,三个月后可能就过时了。所以最重要的不是记住具体的命令,而是学会排查问题的思路。遇到报错,看日志,查文档,找规律,试方案,验证结果。这个流程永远不会过时。

祝你的 ComfyUI 之旅一切顺利。如果不顺利,那就去升级一下 PyTorch 吧。🚀

赞(0) 打赏
未经允许不得转载:大神网 - 币圈投资与科技生活博客 » 从依赖地狱到成功运行:ComfyUI Nunchaku完整攻略

评论 抢沙发

登录

找回密码

注册