跳到主内容
快讯直播
AI智模界
教程

ComfyUI 安装教程:本地出图环境搭建

适用场景

ComfyUI 是一套基于节点连线的 Stable Diffusion 前端,工作流可以保存成 JSON 反复复用,适合需要精确控制采样、AI 词典:ControlNet">ControlNet、局部重绘等环节的出图需求。这套方案适合有一块独立显卡、想在自己电脑或公司内网机器上跑图,又不希望把图片上传到第三方服务的人。本文覆盖从零开始把 ComfyUI 跑起来、把模型放对位置、以及显存不够时怎么降级运行。

环境与前置条件

操作系统

  • Windows 10 / 11(64 位)
  • Linux(Ubuntu、Debian、CentOS 等常见发行版)
  • macOS(Apple Silicon 芯片走 MPS 后端,速度与兼容性另说)

Python 与运行时

  • Python 3.10 或更高版本,具体支持范围以官方仓库 README 当前说明为准。不建议用系统自带的 Python,容易和系统包管理器打架。
  • pip 需要能访问外网。如果处在内网环境,提前配好镜像源。

显卡与驱动

  • NVIDIA 显卡走 CUDA,需要安装对应驱动。先用 nvidia-smi 看驱动版本,再决定装哪个 CUDA 版本的 PyTorch wheel。
  • AMD 显卡在 Linux 上走 ROCm,Windows 上支持有限,买之前先查官方支持列表。
  • 纯 CPU 也能跑,但出一张 512×512 的图可能要几分钟到十几分钟,只适合验证流程。

硬件建议

项目建议
显存8GB 以上比较舒服;6GB 可用低显存模式跑 SD1.5;4GB 及以下需要更激进的降级
内存16GB 起步,32GB 更从容(低显存模式会把压力转移到内存)
磁盘预留 50GB 以上。底模单个 2~7GB,加上 LoRA、ControlNet、放大模型,很快上百 GB
网络拉取依赖和模型需要稳定外网

安装方式对比

方式适合谁优点注意点
Windows 便携包只想快点出图的 Windows 用户解压即用,自带 Python 和 PyTorch升级要按官方说明操作,装自定义节点偶尔会遇到依赖冲突
手动源码安装Linux 用户、想精细控制环境的人环境干净,升级方便,便于接 CI需要自己装 Python、PyTorch、依赖
comfy-cli习惯命令行的用户一条命令装好、启动、更新需要先有可用的 Python 环境
第三方整合启动器完全不想碰命令行的用户图形界面管理模型和节点版本更新节奏和官方不同步,出问题排查链路长

下面重点写手动安装,因为它是所有方式的基础,理解了它,其他方式的报错也能看懂。

分步骤部署

第 1 步:确认显卡驱动

```bash

nvidia-smi

```

输出的右上角会显示 CUDA Version: xx.x,这表示当前驱动最高支持的 CUDA 版本。后面装 PyTorch 时选的 CUDA 版本不能超过这个数。

Windows 上如果提示找不到命令,说明驱动没装或没加入 PATH,去 NVIDIA 官网按显卡型号下载驱动安装。

第 2 步:安装 Git 与 Python

```bash

Ubuntu / Debian

sudo apt update

sudo apt install -y git python3 python3-venv python3-pip

验证

git --version

python3 --version

```

Windows 用户从 python.org 下载安装包,安装时勾选 Add Python to PATH。装完在 PowerShell 里执行 python --version 确认。

第 3 步:拉取 ComfyUI 源码

```bash

cd ~

git clone https://github.com/comfyanonymous/ComfyUI.git

cd ComfyUI

```

克隆完成后目录里应该能看到 main.pyrequirements.txtmodels/custom_nodes/ 等。

第 4 步:创建独立虚拟环境

```bash

python3 -m venv venv

Linux / macOS

source venv/bin/activate

Windows PowerShell

venv\Scripts\Activate.ps1

Windows CMD

venv\Scripts\activate.bat

```

激活成功后命令行前面会出现 (venv) 前缀。这一步的作用是把 ComfyUI 的依赖和系统 Python 隔离开,以后升级或删库都不会互相影响。

第 5 步:安装 PyTorch

PyTorch 的安装命令是分 CUDA 版本的,具体写法以 PyTorch 官网当前给出的命令为准。形如:

```bash

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cuXXX

```

cuXXX 换成不超过第 1 步里看到的上限版本。纯 CPU 用户去掉 --index-url 参数直接装即可。

Apple Silicon 用户按官方说明安装支持 MPS 的版本。

第 6 步:安装 ComfyUI 依赖

```bash

pip install -r requirements.txt

```

这一步会拉取 transformers、safetensors、aiohttp 等库,视网络情况需要几分钟。

第 7 步:首次启动

```bash

python main.py

```

看到类似下面的输出说明启动成功:

```

Total VRAM xxxxx MB, total RAM xxxxx MB

pytorch version: x.x.x

Set vram state to: NORMAL_VRAM

Device: cuda:0 NVIDIA ...

Starting server

To see the GUI go to: http://127.0.0.1:8188

```

浏览器打开 http://127.0.0.1:8188,能看到节点画布就说明服务通了。

第 8 步:放置模型文件

ComfyUI 的 models/ 目录下按用途分子目录,常见的有:

目录放什么
models/checkpoints底模(SD1.5、SDXL、Flux 等大模型)
models/lorasLoRA 微调权重
models/vae独立的 VAE 文件
models/controlnetControlNet 模型
models/clipmodels/clip_vision文本编码器、视觉编码器
models/unetmodels/diffusion_models拆分后的 UNet / DiT 权重
models/embeddings文本反转(Textual Inversion)
models/upscale_modelsESRGAN、SwinIR 等放大模型

目录名称可能随版本微调,以仓库里实际的 models/ 子目录为准。把下载好的 .safetensors 文件按类型丢进去,重启 ComfyUI 或在网页上点刷新,节点里的下拉框就能选到。

第 9 步:复用已有模型库(可选)

如果硬盘上已经有一份 WebUI 或其他工具的模型库,不必复制粘贴,用 extra_model_paths.yaml 指过去即可。在 ComfyUI 根目录新建 extra_model_paths.yaml

```yaml

my_models:

base_path: /data/ai_models/

checkpoints: checkpoints

loras: loras

vae: vae

controlnet: controlnet

embeddings: embeddings

upscale_models: upscale_models

```

Windows 路径写成 D:/ai_models/ 这种正斜杠形式。配置完成后重启生效。

第 10 步:安装 ComfyUI Manager(可选但建议)

Manager 用来在网页里搜索、安装、更新自定义节点。在 custom_nodes 目录下拉取:

```bash

cd custom_nodes

git clone https://github.com/ltdrdata/ComfyUI-Manager.git

cd ..

```

重启后界面右侧会出现 Manager 按钮。装完节点记得重启服务。

验证部署是否成功

验证 1:服务可访问

浏览器打开 http://127.0.0.1:8188,能看到默认工作流画布即为正常。

验证 2:GPU 是否被正确识别

```bash

python -c "import torch; print(torch.__version__, torch.cuda.is_available(), torch.cuda.get_device_name(0))"

```

预期输出里第二个值是 True,第三个值是显卡型号。如果第二个是 False,看后面的排错部分。

验证 3:真的出一张图

在网页上依次点 Load Default(加载默认工作流),确认 Load Checkpoint 节点选到了模型,然后点 Queue Prompt

预期结果:

  • 命令行出现进度条和采样步数输出
  • output/ 目录下多出一张 PNG 文件
  • 网页预览区显示生成的图片

打开 output/ 目录能看到文件,就说明整条链路(模型加载 → 文本编码 → 采样 → VAE 解码 → 保存)都通了。

显存不足处理

出图时的显存主要被三部分占用:模型权重、文本编码器、VAE 解码时的中间张量。显存不够时按下面顺序尝试:

1. 换用低显存启动参数

```bash

中等显存(约 6~8GB):把模型分块调度

python main.py --medvram

低显存(约 4~6GB):更细粒度地搬运模型

python main.py --lowvram

极低显存:只把当前需要的层放进显存

python main.py --novram

```

这几个参数会让部分计算在内存里完成,代价是速度下降。--novram 相比 --lowvram 更省显存也更慢。内存建议 32GB 以上。

2. 降低分辨率

从 1024×1024 降到 768×768 或 512×512,显存占用大致按面积比例下降。先出小图确认效果,再用放大模型提分辨率。

3. 使用低精度权重

--fp8_e4m3fn 之类的低精度选项可以在支持的卡上减少权重占用,具体可用参数以官方 README 为准。部分模型社区直接提供 fp8 量化版本。

4. 换更小的模型

SD1.5 系模型比 SDXL 系省显存,SDXL 又比 Flux 系省。先用小模型跑通流程,再考虑换大的。

5. 关掉占显存的程序

浏览器(尤其是开了视频或硬件加速的标签页)、游戏、Docker 里的其他推理服务都会抢显存。Linux 上用 nvidia-smi 看有没有残留进程。

Windows 上要注意:任务管理器里显示的「共享 GPU 内存」是内存划过去的,不是真显存。当 nvidia-smi 显示显存已经满了,系统再往共享内存里塞数据,速度会掉得很厉害,看起来像"卡死",其实是内存带宽不够。

常见报错与解决

报错 1:AssertionError: Torch not compiled with CUDA enabled

原因:装的是 CPU 版 PyTorch,或者装成了不匹配的 CUDA 版本。

解决:先看驱动支持的上限,再重装。

```bash

pip uninstall -y torch torchvision torchaudio

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cuXXX

```

重装后用前面的验证命令确认 torch.cuda.is_available() 返回 True

报错 2:torch.cuda.OutOfMemoryError: CUDA out of memory

原因:显存不足。常见于首次加载大模型、分辨率过高、同时跑了多个采样任务。

解决:按下面的顺序试。

```bash

先用低显存模式启动

python main.py --lowvram

```

同时把分辨率降到 512×512 或 768×768,关掉浏览器里其他吃显存的页面。如果是批量任务,减少并发数量。

报错 3:OSError: [Errno 98] Address already in use(Windows 上是 [Errno 10048]

原因:8188 端口已被占用,通常是上一次的 ComfyUI 进程没退干净。

解决:换端口或者杀掉旧进程。

```bash

换端口最简单

python main.py --port 8189

Linux 查进程

lsof -i :8188

kill -9 <PID>

Windows 查进程

netstat -ano | findstr :8188

taskkill /PID <PID> /F

```

报错 4:Load Checkpoint 下拉列表是空的

原因:模型没放进 models/checkpoints,或者放进去的文件不是 ComfyUI 支持的格式,也可能是浏览器缓存了旧列表。

解决:

```bash

ls -lh models/checkpoints/

```

确认文件存在且后缀是 .safetensors.ckpt。然后在网页上按 R 键或点刷新按钮重新拉取列表。如果配置了 extra_model_paths.yaml,检查路径写得对不对、有没有多余空格。

报错 5:ModuleNotFoundError: No module named 'xxx'(装完自定义节点后)

原因:自定义节点有自己的依赖,克隆下来不会自动安装。

解决:进入对应节点目录手动装。

```bash

cd custom_nodes/<节点目录名>

pip install -r requirements.txt

```

如果该节点目录下没有 requirements.txt,去看它的 README 说明。装完重启 ComfyUI。实在冲突严重,删掉该节点目录再重启,先恢复可用状态。

报错 6:克隆或安装依赖时卡住不动

原因:网络到 GitHub 或 PyPI 不稳定。

解决:PyPI 换镜像源,Git 可以配代理或改用镜像站点。这一步视所在网络环境处理,没有通用的一行命令。

后续维护

备份

需要备份的目录和文件:

  • models/——体积大,可以单独做增量备份或干脆不备份(能重新下载)
  • custom_nodes/——自装节点,重新配置比较费时,建议备份
  • user/default/workflows/——自己攒的工作流,这是最有价值的部分,务必定期导出
  • extra_model_paths.yaml——配置文件,几行字,随手拷一份
  • output/——出图结果,视需要保留

一个务实的做法:把工作流、extra_model_paths.yamlcustom_nodes 的目录清单定期打包,模型文件单独用同步工具处理。

升级

```bash

cd ComfyUI

git pull

pip install -r requirements.txt

```

升级前建议先备份 custom_nodes 目录,因为某些节点可能跟不上主仓库的接口变动。升级后如果启动报错,把 custom_nodes 临时改名为 custom_nodes_bak,确认是主程序问题还是节点问题。

便携包用户按官方仓库的更新说明操作,不要直接覆盖整个目录。

日志

前台运行时直接看命令行输出即可。需要后台运行:

```bash

nohup python main.py --lowvram > comfyui.log 2>&1 &

tail -f comfyui.log

```

日志里出现 Prompt executed in xx seconds 表示一次任务完整结束。

监控

```bash

每秒刷新显卡状态

watch -n 1 nvidia-smi

或者只记录一次

nvidia-smi --query-gpu=memory.used,memory.total,utilization.gpu --format=csv

```

关注两个指标:显存占用是否贴近上限、GPU 利用率是否长期偏低。后者通常意味着瓶颈在内存或磁盘读取模型。

安全提醒

ComfyUI 默认只监听 127.0.0.1,也就是只有本机能访问。如果加 --listen 让局域网其他机器访问,注意它本身没有登录鉴权,不要把端口直接映射到公网。需要远程使用时,走内网穿透加认证,或者放在带鉴权的反向代理后面。

磁盘清理

output/temp/ 会持续增长,定期清理。模型换下来不用了也及时删,一个底模动辄几个 GB。可以写个定时任务,只保留最近若干天的输出图。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。