Windows 部署 ComfyUI 常见错误与解决
一 环境不匹配与 CUDA 不可用
- 典型症状
- 启动日志出现:AssertionError: Torch not compiled with CUDA enabled、或提示 CUDA Setup failed despite GPU being available。
- 运行设备检测代码返回 False:
torch.cuda.is_available()。 - 快速自检
- 查看驱动与最高支持的 CUDA:
nvidia-smi(右上显示的 Supported/Runtime CUDA 为上限)。 - 查看 PyTorch 与 CUDA 绑定:
python -c "import torch; print(torch.__version__, torch.version.cuda, torch.cuda.is_available())"。 - 处理步骤
- 版本匹配优先:Windows 上推荐 Python 3.10.x;CUDA 选择 11.8 或 12.1;确保显卡驱动版本支持所选 CUDA。
- 重装带 CUDA 的 PyTorch(示例为 CUDA 11.8,按你的 Python 版本选择 cp 标签):
- pip 卸载:
pip uninstall torch torchvision torchaudio -y - 本地 whl 安装(示例,Python 3.12 + cu118):
pip install C:\path\torch-2.2.0+cu118-cp312-cp312-win_amd64.whlpip install C:\path\torchvision-0.17.0+cu118-cp312-cp312-win_amd64.whlpip install C:\path\torchaudio-2.2.0+cu118-cp312-cp312-win_amd64.whl- 若报 “whl is not a supported wheel on this platform”,说明 Python 主次版本或架构不匹配(如 cp312 仅对应 Python 3.12、win_amd64 对应 64 位)。
- 若驱动过旧导致
CUDA driver version is insufficient,先升级 NVIDIA 驱动,再选择不高于驱动上限的 CUDA/PyTorch 组合。
二 依赖安装与网络问题
- 便携版 ComfyUI 内置 Python 的正确用法
- 进入内置环境目录(示例):
cd /d D:\ComfyUI\_windows\python\_embeded - 用内置 pip 安装依赖:
python -m pip install -r D:\ComfyUI\ComfyUI\requirements.txt - 国内网络建议加镜像与重试:
python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --timeout 1000 --retries 10 - 常见报错与修复
- No module named 'pip':
python -m ensurepip --upgrade,或下载 get-pip.py 安装后再执行上一步。 - Could not find a version / 超时:升级 pip、切换镜像、加长超时与重试。
- Cannot uninstall 'xxx'(distutils 冲突):
pip install --ignore-installed -r requirements.txt 或单独强制重装冲突包(如 setuptools)。 - SSL/哈希校验失败或下载中断:改用 离线 whl 包 安装(断点续传工具更稳)。
三 容器化与路径挂载错误(WSL2 + Docker Desktop)
- 典型症状
docker compose up 反复重启,日志报:invalid volume specification: '...:ro:rw' 或路径不存在。- 根因与修复
- Windows 路径需转换为 WSL2 内部分式路径,且绑定语法为 绝对路径:容器绝对路径(不能出现 ro:rw 这类重复/错位写法)。
- 正确示例(Compose 片段):
- volumes:
D:\Dify\ComfyUI:/app/ComfyUI:ro- 注意:使用正斜杠
/,不要写 D:\...;:ro 表示只读,如需可写改为 :rw。 - 前置条件:已安装 WSL2、Docker Desktop ≥ 4.30、NVIDIA Container Toolkit,并能在容器内
nvidia-smi 看到 GPU。
四 模型与自定义节点导致的运行错误
- 常见报错与对策
- safetensors_rust.SafetensorError: MetadataIncompleteBuffer:模型文件下载不完整。对策:重新下载 .safetensors,校验文件大小/哈希,或换源重试。
- onnxruntime InvalidProtobuf:常见于 InsightFace 的 .onnx 模型(如 antelopev2/1k3d68.onnx)损坏。对策:手动下载完整模型替换,或更新 InsightFace 相关包。
- Return type mismatch between linked nodes: insightface, INSIGHTFACE != INSIGHTFACEMODEL:节点版本不匹配。对策:确认 InstantID 1.0/2.0 工作流与节点版本一致,统一升级或回退。
- CUDA Setup failed 伴随 bitsandbytes:可能是 bitsandbytes 与当前 CUDA/驱动不兼容。对策:升级 bitsandbytes、检查 CUDA 库路径,或在 CPU 模式下临时验证工作流逻辑。
五 显存不足与性能优化
- 现象与影响
- 使用 Flux、多 ControlNet、高清分辨率 时易报 显存不足/采样器错误,偶发小图能跑但大图失败。
- 优化建议
- 降低 分辨率 与 Batch Size,必要时先小图验证流程再放大。
- 启用 FP16/BF16 混合精度 与 TF32(若硬件支持),可显著降低显存占用并提升吞吐。
- 开启 cudnn.benchmark = True,在固定尺寸下提升性能;必要时设置
CUDA_VISIBLE_DEVICES 指定显卡。 - 多模型/多分支场景可拆分工作流、减少并行加载,或使用更高显存卡(如 12–16 GB 或 24 GB+)。