为了更好的兼容性,我为 ComfyUI-3D-Pack 单独做了一个整合包:
本仓库 ComfyUI-Windows-Portable
新发布的整合包就不再包含 3D-Pack 了,之前发布的版本都将保留。
-
预装了 40+ 常用自定义节点 【查看详细列表】
-
预先下载了部分模型文件,包括 ReActor Node 与 Impact Pack 会在初次启动时下载的模型文件等,避免国内用户启动时卡下载。
-
-
包含 240+ 互相兼容的 Python 包,包括:
-
需要编译安装的
insightface
、dlib
等 -
ComfyUI 官方包里没装的 xFormers(对文生图影响不大,对视频类有用)
-
-
仅预置了少量功能性模型,绘图模型还请用户自行下载
-
使用 GitHub 流水线打包,方便 DIY。用户无需配置 CI/CD,只需在 GitHub 上 Fork 仓库,即可运行打包脚本 【查看操作方法】
-
仅支持 NVIDIA 显卡,建议先装好最新驱动
-
在发布页面下载整合包:
-
https://github.com/YanWenKun/ComfyUI-Windows-Portable/releases
-
注意有多个文件(压缩包分卷),需要全部下载后解压。
-
-
将 SD 模型放到
ComfyUI\models\checkpoints
下-
可随意建立子目录,便于分类
-
-
(按需)选择启动脚本
-
将
中文脚本
目录下的文件复制到主目录 -
如能流畅访问 PIP、HuggingFace、GitHub,略过此步骤
-
-
(可选)编辑启动脚本,
run_cn.bat
或run_nvidia_gpu.bat
-
如果不希望程序启动后自动打开浏览器,在启动脚本中添加启动参数
--disable-auto-launch
-
如果正在用 40 系及更新的 GPU,可尝试添加启动参数
--fast
,有 魔法
-
-
执行启动脚本
-
启动后程序会自动打开浏览器,也可手动访问: http://localhost:8188/
-
-
配置为中文界面
-
点击 ComfyUI 页面左下角的 齿轮(⚙)图标进入设置
-
在右侧,确认 Locale 为 zh
-
在左侧,找到 AGL,选择中文
-
刷新浏览器即可
-
-
善加利用 ComfyUI-Manager (ComfyUI 页面右上角 Manager 按钮),用它来管理自定义节点:安装、更新、禁用、卸载。
-
“更新全部”需谨慎,用不到的节点没必要更新,避免 Python 包混乱。
-
-
如需禁用 xFormers,在 ComfyUI 启动参数中添加
--use-pytorch-cross-attention
即可。-
这样会使用 PyTorch 原生交叉注意力机制。启用后,SD 文生图的用时、显存占用、画面一致性可能会略有不同。
-
如需生成视频,建议不要禁用。
-
-
可以考虑使用 Sandboxie 沙盒来约束缓存文件,同时隔离环境。
-
在使用沙盒时,为了 I/O 性能,建议在“沙盒选项”-“资源访问”中,将程序主目录(
ComfyUI_Windows_portable
)配置为“开放”。
-
ComfyUI 可以加载主目录外的模型文件, 配置方法:
-
将
ComfyUI
目录下的extra_model_paths.yaml.example
重命名,去掉末尾的.example
-
编辑
extra_model_paths.yaml
,其中以#
开头的部分为注释内容
参考文件(点击展开)
comfyui: base_path: D:\models\ animatediff_models: animatediff_models animatediff_motion_lora: animatediff_motion_lora bert-base-uncased: bert-base-uncased checkpoints: checkpoints clip: clip clip_vision: clip_vision configs: configs controlnet: controlnet depthfm: depthfm diffusers: diffusers embeddings: embeddings facerestore_models: facerestore_models gligen: gligen grounding-dino: grounding-dino hypernetworks: hypernetworks insightface: insightface ipadapter: ipadapter loras: loras mmdets: mmdets onnx: onnx photomaker: photomaker reactor: reactor sams: sams style_models: style_models ultralytics: ultralytics unet: unet upscale_models: upscale_models vae: vae vae_approx: vae_approx
ComfyUI 有三处主要的模型文件保存位置:
-
官方推荐的
models
目录(以及上述的外部模型目录) -
各节点在
custom_nodes
中原地下载的文件 -
通过
HuggingFace Hub
(HF 官方下载器)下载的模型文件
其中 HF Hub 默认将文件下载到 C:\Users\UserName\.cache\huggingface\hub
。
本整合包在启动脚本中,将其修改为了 程序目录\HuggingFaceHub
文件夹,以便用户直观管理。
如果用户有多个 ComfyUI 实例,希望共用一套 HF Hub 模型目录,可将启动脚本中的
set HF_HUB_CACHE=%~dp0\HuggingFaceHub
修改为类似形式:
set HF_HUB_CACHE=D:\HuggingFaceHub
该方法不通过 ComfyUI-Manager 更新,而是直接替换为新版整合包。 如果流程顺利,可以避免安装升级 Python 包,进而避免依赖项版本混乱。
-
先安装好 Git for Windows, 并选择安装 Git Bash(默认)。
-
解压新版整合包
-
删除新版中的
ComfyUI
与HuggingFaceHub
文件夹 -
将旧版中的这两个文件夹复制过来
-
在新版主目录下,打开 Git Bash(在空白处点击右键,菜单中选择“Open Git Bash here”)
-
复制下行内容,在 Git Bash 中点击鼠标右键,菜单中选择粘贴,并回车:
bash 使用国内镜像强制更新全部节点.sh
-
参照“如何使用”一节,编辑启动脚本并运行
-
如有节点加载失败,需在 ComfyUI-Manager 中“try fix”。
如安装新节点后遇到兼容性问题,可在 ComfyUI-Manager 中禁用冲突节点。
本仓库使用流水线构建整合包,直接 fork 本仓库即可开始执行 GitHub Workflow。代码库中不含特化配置,也不需要额外配置访问权限。
-
Fork 后,在页面中找到 Actions。
-
找到 Build & Upload Package。
-
比如我代码库里的页面长 这样
-
-
找到 Run Workflow,点击运行。
-
等待执行完毕(20~40分钟)
-
找到仓库的 releases 页面,里面会有刚生成的草稿,即可下载或编辑发布。
代码原本是抄的 ComfyUI 的 GitHub workflow ,后来发现实在是难调试,就重写了一遍脚本。 但打包理念都差不多,都是自带一个免安装的 Python Embedded,半绿色,可移植,依赖项完备,解压即可运行。
不同之处在于,我没有像 comfyanonymous 一样先下载 wheel,再批量安装。因为依赖关系太棘手,我是直接走的 pip install
,以便 PIP 解析。
当然,这类预装包的 Python Embedded 都有个通病:Scripts
目录下的 exe 大多无法正常执行。因这些 exe 多为 Python 命令套壳,并通过绝对路径执行 python.exe
,一旦目录变动(移植)自然无法执行。所幸对本项目无甚影响。
感谢 ComfyUI GitHub workflow ,我的灵感来源于此,一开始的代码也是抄的这个。