ComfyUI安装与模型共享详细教程
手把手指导如何从零部署ComfyUI,包括克隆仓库、创建虚拟环境、安装依赖及运行程序,并通过软链接与Stable Diffusion共享模型文件,提升资源利用率。
ComfyUI 安装与模型共享完整实践指南
在生成式 AI 快速演进的今天,越来越多创作者不再满足于“输入提示词、点击生成”的简单模式。他们需要的是对整个图像生成过程的精确掌控——从文本编码方式、噪声调度策略,到多条件控制(如姿态、边缘、深度图)的融合逻辑。正是在这种需求驱动下,ComfyUI 逐渐成为专业用户的首选工具。
它不像 Stable Diffusion WebUI 那样追求一键出图的便捷性,而是将整个扩散模型流程拆解为一个个可连接的节点:你拖动一个“加载大模型”节点,连上“CLIP 编码”,再接入“KSampler”采样器,最后通过“VAE 解码”输出图像——每一步都清晰可见,每一个参数都可以精细调节。这种“可视化编程”式的操作方式,让复杂工作流的构建和复现变得前所未有的直观。
更重要的是,它的内存管理机制允许逐节点执行,这意味着即使你的显卡只有 8GB 显存,也能稳定运行原本吃力的大模型+ControlNet+LoRA 组合流程。对于团队协作或批量生产来说,保存下来的 .json 工作流文件就像一份精确的配方,谁拿到都能还原出完全一致的结果。
要真正用好 ComfyUI,第一步是正确部署环境并合理规划模型路径。很多用户在安装时踩过的坑,并非来自软件本身,而是 Python 环境混乱、依赖版本冲突,或是重复下载多个 G 的模型导致磁盘告急。下面我们就从零开始,一步步搭建一个高效、整洁且可持续维护的 ComfyUI 工作环境。
首先明确系统要求。虽然官方支持 Windows、Linux 和 macOS,但实际体验差异较大。如果你使用的是 NVIDIA 显卡,强烈推荐 Ubuntu 20.04 及以上系统,配合 Conda 管理虚拟环境,能极大降低后期维护成本。硬件方面,RTX 3060 起步会比较舒适,尤其是当你打算同时加载 ControlNet 和 LoRA 模型时。存储建议预留至少 100GB,毕竟一个高质量底模就可能占用 7GB,加上 VAE、Lora、ControlNet 等组件,空间消耗不容小觑。
Python 版本的选择尤为关键。尽管最新版已支持到 3.11,但在实践中发现,部分第三方节点仍依赖旧版库,使用 Python 3.10 是目前最稳妥的选择。避免因 ModuleNotFoundError 或 ImportError 浪费调试时间。
准备工作完成后,就可以进入正式安装流程了。以 Linux 为例:
git clone https://github.com/comfyanonymous/ComfyUI.git
这行命令会拉取官方仓库的最新代码。如果系统未安装 git,先运行:
sudo apt update && sudo apt install git -y
接下来创建独立的 Python 环境。这是防止依赖污染的关键一步。推荐使用 Miniconda:
conda create -n comfyui python=3.10
conda activate comfyui
cd ComfyUI
激活环境后,务必确认当前使用的 Python 来自该环境:
which python
# 输出应为类似:/home/username/miniconda3/envs/comfyui/bin/python
然后安装核心依赖。由于 ComfyUI 重度依赖 PyTorch 和 CUDA 加速,必须根据 GPU 驱动版本选择合适的安装指令。对于大多数用户,CUDA 11.8 兼容性最好:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
如果你的驱动较新(比如支持 CUDA 12.x),可以改用:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
安装完毕后,建议立即补充 xformers,它能在保持生成质量的同时显著降低显存占用:
pip install xformers
最后安装项目本身的依赖项:
pip install -r requirements.txt
这个文件里包含了 Pillow、NumPy、Flask 等基础库。偶尔会出现 onnxruntime-gpu 安装失败的情况,若不影响主要功能,可跳过或降级为 CPU 版本。
一切就绪后,启动服务:
python main.py
终端会输出一行提示:
To see the GUI go to: http://127.0.0.1:8188
打开浏览器访问即可看到界面。默认端口是 8188,如果你想改成更熟悉的 7860,或者希望局域网内其他设备也能访问,启动时加上参数:
python main.py --port 7860 --listen
注意:不加 --listen 的话,默认只绑定本地回环地址,外部无法连接。
现在来看看模型管理。ComfyUI 的目录结构非常清晰,所有模型按类型分门别类存放在 models/ 子目录中:
ComfyUI/
├── models/
│ ├── checkpoints/ ← 大模型(.ckpt 或 .safetensors)
│ ├── clip/ ← CLIP 文本编码器
│ ├── vae/ ← VAE 解码模型
│ ├── loras/ ← LoRA 微调模型
│ ├── controlnet/ ← ControlNet 条件控制模型
│ ├── ipadapter/ ← IP-Adapter 图像提示模型
│ └── ... ← 其他节点专用模型
每个子目录对应一类功能模块,加载时自动识别。例如,“Load Checkpoint”节点只会扫描 checkpoints/ 目录下的文件。
但问题来了:很多人既用 ComfyUI,也保留着 A1111(Stable Diffusion WebUI)。这两个平台使用的模型格式基本一致,如果分别存放,意味着同样的 .safetensors 文件要复制两份,白白浪费数十 GB 空间。
其实完全没必要。我们可以通过软链接(Symbolic Link) 实现模型共享。
假设你的 SD WebUI 模型路径是:
/home/jianbo/stable-diffusion-webui/models/Stable-diffusion
而 ComfyUI 的 checkpoint 目录位于:
/home/jianbo/ComfyUI/models/checkpoints
你可以删除后者的内容(确保已有模型已备份),然后建立软链:
ln -s /home/jianbo/stable-diffusion-webui/models/Stable-diffusion/* /home/jianbo/ComfyUI/models/checkpoints/
这样,ComfyUI 就能直接读取 WebUI 中的所有大模型文件,仿佛它们就存在本地一样。不仅节省空间,更新模型也只需替换一处。
更灵活的做法是对单个文件打链接。比如你有多个版本的 dreamshaper 模型,只想让 ComfyUI 使用 _v8.safetensors 这个版本:
ln -s \
/home/jianbo/stable-diffusion-webui/models/Stable-diffusion/dreamshaper_8.safetensors \
/home/jianbo/ComfyUI/models/checkpoints/dreamshaper_8.safetensors
这种方式适合精细化管理,避免误加载测试中的模型。
Windows 用户也可以实现相同效果,但需以管理员身份运行 PowerShell 或 CMD:
mklink /D "C:\Users\jianbo\ComfyUI\models\checkpoints" "C:\Users\jianbo\stable-diffusion-webui\models\Stable-diffusion"
几点注意事项:
- 必须以管理员权限运行;
- 路径尽量使用英文,避免中文或空格引发解析错误;
- 若提示“无法创建符号链接”,检查是否启用了开发者模式或组策略允许符号链接。
当然,部署过程中难免遇到问题。这里列出几个高频故障及应对方法。
最常见的报错之一是:
ModuleNotFoundError: No module named 'torch'
这通常不是因为没装 PyTorch,而是环境错乱——你在系统全局环境下运行了 python main.py,而实际依赖装在 comfyui 虚拟环境中。解决办法很简单:先激活环境再启动。
另一个常见问题是浏览器打不开 http://127.0.0.1:8188。除了检查防火墙外,重点看是否被其他程序占用了端口。可以用以下命令查看:
lsof -i :8188
如果有输出,说明已被占用。换端口启动即可:
python main.py --port 7861
还有一种情况是模型下拉菜单为空。排查思路如下:
1. 检查模型是否真的放在了正确的目录;
2. 如果用了软链接,确认链接有效(ls -l 查看是否指向正确路径);
3. 文件扩展名是否为 .ckpt 或 .safetensors;
4. 是否重启了 ComfyUI?新增模型不会热加载,必须重启才能识别。
掌握安装与配置只是第一步。真正发挥 ComfyUI 价值,在于理解其“节点即逻辑”的设计理念。你可以把整个生成流程想象成一条装配线:原料(提示词)进入,经过预处理(CLIP 编码)、加工(采样)、质检(VAE 解码),最终产出成品图像。每一个环节都是独立模块,你可以自由调整顺序、替换组件,甚至插入自定义节点来实现动态提示词、图像修复、风格迁移等高级功能。
社区生态也非常活跃。通过 Custom Nodes Registry,你能找到数百个由开发者贡献的扩展节点,涵盖动画生成、3D 投影、AI 修图等多种场景。导入别人分享的 .json 工作流,也是快速学习的最佳途径。
长远来看,定期更新项目源码也很重要。ComfyUI 开发迭代迅速,新特性层出不穷:
cd ComfyUI
git pull origin master
一句简单的 git pull 就能获取性能优化、安全补丁和新节点支持。
当 AI 生成从“魔法”走向“工程”,我们需要的不再是黑箱式的工具,而是透明、可控、可扩展的工作平台。ComfyUI 正是在这一趋势下的产物——它把复杂的深度学习流程变成了可视化的积木拼接,让创意与技术得以无缝衔接。
一旦你习惯了这种“所见即所得”的全流程掌控感,再回到传统界面,可能会觉得像是在用图形编辑器之前的手绘时代。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)