☰
ComfyUI原生安装全流程:环境、依赖与出图避坑指南
2026/10/24 7:02:21 网站建设 项目流程

很多人第一次打开 ComfyUI,卡住的地方其实不是节点连线,而是压根没装起来。界面打不开、命令行一片红字、明明装了却提示找不到 Python、好不容易进去了模型列表却是空的——这些场景我见得太多了。这篇就专门讲清楚 ComfyUI 的原生安装包怎么装、每个步骤背后的道理是什么、哪一步最容易翻车。原生安装指的是不走别人打包好的整合包,而是自己准备 Python 环境、自己装 PyTorch、自己拉取 ComfyUI 本体,装完之后这套环境是你能完全掌控的。适合愿意花四十分钟认真打地基的人,也适合已经被整合包折磨过、想搞明白到底哪一层出了问题的人。全程命令行操作不多,我会把每条命令为什么要敲、敲完应该看到什么,都交代清楚。

1. 为什么我建议你先啃"原生安装"这块硬骨头

先说个我观察到的现象:绝大多数人入门 ComfyUI 走的是整合包路线,双击启动器,等两分钟,浏览器弹出界面,看起来一切顺利。然后过两周想装个新插件,报错了;想升级到新版,启动器崩了;想换个模型,发现文件夹套文件夹根本找不到位置。这时候再回头补基础,成本比一开始就自己装要高得多。

原生安装的价值不在于"显得专业",而在于每一层都是透明的。你知道 Python 在哪、知道 torch 是哪个版本、知道模型该丢进哪个文件夹、知道报错来自哪一层。这套认知一旦建立,后面装插件、调显存、换模型,都是顺理成章的事。

1.1 原生安装包和整合包的分界线在哪

我用一张表把两者的差异摊开讲,你自己判断该走哪条路。

对比维度原生安装(本文路线)整合包
环境来源你自己装的 Python + 自己装的 PyTorch打包者内置的独立 Python 环境
初始体积约 1.5G 至 3G(不含模型)常见 10G 以上,有的预置几十 G 模型
版本更新一条命令拉取最新代码依赖打包者发布新版,可能滞后
出错定位报错层级清晰,能自己查环境被封装,出问题只能等更新
插件兼容自己控制,冲突好排查预装插件可能与新插件打架
上手门槛需要敲五六条命令双击即可

关键差异在最后两行之前那一行——出错定位。整合包把 Python 环境藏在一个叫 python_embeded 之类的目录里,一旦某个依赖版本对不上,你既不能用系统的 pip 修,也不敢乱删。而原生安装出问题时,报错信息直接指向你装的那个包,pip 一条命令就能重装。

1.2 这套流程适合谁、不适合谁

坦白讲,原生安装不是所有人的最优解。如果你现在的目标只是"今晚就想跑出一张图给朋友看",那整合包确实更快,这没什么不好意思的,工具是拿来用的,不是拿来供着的。

但下面这几类人,我强烈建议走原生路线:打算长期把 ComfyUI 当生产力工具用的;需要频繁装自定义节点、调工作流的;显存不算宽裕、需要精细控制显存策略的;以及被整合包坑过一次、想彻底搞明白原理的。

还有一类特殊情况——你的机器上已经有一套 Python 环境了。比如你平时写点脚本、跑点数据处理。这时候用整合包反而更省心,因为它的环境是隔离的,不会污染你原有的东西。真要原生安装,请务必按 3.4 节讲的建虚拟环境,否则很容易把你原来那套环境搞乱。

1.3 装之前必须对上的三张清单

动手之前,先花两分钟把这三件事确认掉,能省掉后面一小时的折腾。

硬件清单:显存 6G 是能跑起来的底线,8G 是比较舒服的档位,12G 以上才谈得上玩大模型和高分辨率。硬盘至少留 30G 空闲,注意这只是软件本体加几个常用模型,模型是个无底洞,我见过硬盘被模型塞满的情况。内存建议 16G 起,8G 内存加载大模型时会频繁读写硬盘,速度掉得厉害。

系统清单:Windows 10 或 11 的 64 位版本。macOS 上 Apple Silicon 芯片也能跑,走的是另一套加速后端,流程大同小异但安装命令不同。Linux 用户基本不需要看这篇,你们本来就熟悉这套。

路径清单:这一条我要加重语气说。安装路径必须全英文、不含空格、不含任何特殊符号。我踩过最冤的一个坑就是把 ComfyUI 放在了一个带中文的目录里,结果某些依赖在读取路径时直接编码失败,报错信息还完全看不出跟路径有关,查了整整一个下午。桌面、我的文档这些位置看着方便,实际路径里往往带用户名,如果你的用户名是中文,一样会出问题。老老实实放到 D 盘根目录下建个纯英文文件夹。

2. 环境地基:Python 与 Git 的安装细节

这一章是全文最"琐碎"的部分,但九成的安装失败都埋在这里。命令行报错最难的地方在于——它不会告诉你"你十分钟前少勾了一个框"。

2.1 Python 版本为什么死守 3.10 或 3.11

现在官网首页默认推的是最新版,很多小白点了大按钮下载,装完就出问题。原因在于 PyTorch 和各种加速库发布的是预编译好的安装包(业界叫 wheel),这些包是按 Python 版本和操作系统分别编译的。新版本 Python 出来后,社区需要一段时间才能跟上,这段时间里你 pip 安装某个包,它会发现没有现成的包,于是尝试"从源码编译"。

源码编译意味着什么?意味着你的电脑上得有完整的编译工具链,得能拉取一堆底层库,编译过程可能跑十几分钟然后报一个你看不懂的错。对新手来说这就是死路。

所以我的建议很明确:Python 3.10 或 3.11,二选一,别贪新。3.10 的兼容性覆盖面最广,很多自定义节点作者就是在这个版本上测的;3.11 在速度和兼容性之间平衡得也不错。3.12 目前大部分常用包已经有轮子了,但个别节点依赖的冷门包仍然可能编译失败。至于 3.13,现阶段不建议碰。

安装时记得选 64 位版本,32 位版本会在装 PyTorch 那一步直接失败。

2.2 安装向导里那个"Add python.exe to PATH"勾选框

Python 安装向导第一屏最下面有两个复选框,第二个写着把 Python 添加到 PATH。这个框必须勾。

PATH 是什么?你可以把它理解成系统找程序的通讯录。你在命令行敲python,系统不知道 python 在哪,就去通讯录里翻,翻到了就执行,翻不到就告诉你"不是内部或外部命令"。不勾这个框,Python 确实装上了,但系统不知道它在哪。

如果已经装完了才发现没勾,有两条路:一是卸载重装,最省事;二是手动改环境变量,在系统设置里找到环境变量配置,把 Python 安装目录和它下面的 Scripts 目录都加进去。第二条路我建议只在你已经装了很多东西不想重来时走,因为很容易漏掉其中一个目录,导致 python 能用但 pip 不能用。

2.3 三条命令验证地基是否牢靠

装完 Python 和 Git,打开一个全新的命令行窗口(这点很重要,旧窗口读的是旧的环境变量缓存),依次敲这三条:

python --version pip --version git --version

正常情况你会看到类似 Python 3.10.x、pip 23.x、git version 2.x 的输出。任何一条报"不是内部或外部命令",就回到上一步检查。

这里有个小细节:如果你敲python之后没有输出版本号,反而直接进入了>>>提示符,说明系统里可能装了来自应用商店的 Python 别名,这种情况在 Windows 上挺常见。解决办法是在设置里搜索"应用执行别名",把 Python 相关的两个开关关掉。

2.4 Git 到底用来干什么

有人会问,既然是下载,直接用浏览器下载压缩包不行吗?行,但用 Git 有两个实打实的好处。

第一,更新的时候不用重新下载整包,一条git pull只拉取改动的部分,几十兆的事。第二,装自定义节点时,绝大多数节点的安装说明都是一句git clone,你提前把 Git 装好,后面照抄命令就行,不用再去找压缩包。

安装 Git 的过程中会问你怎么配置 PATH 环境,选那个"从命令行和第三方软件中使用 Git"的选项,别选最保守的那个。装完还需要设一下身份,虽然不是必须,但设了以后提交记录不会报错:

git config --global user.name "你的名字" git config --global user.email "你的邮箱"

这两条只是本地标记,不会上传到任何地方。

2.5 建立虚拟环境,把项目关进独立房间

这一步很多人跳过,我建议你别跳。虚拟环境的逻辑是:给这个项目单独准备一套 Python 包目录,装什么、删什么都在这个房间里发生,不影响系统里其他项目。

生活类比:你家冰箱是公用的,你把所有食材都塞进去,某天发现过期了都不知道是谁的。虚拟环境相当于给这个项目配了一个专属小冰箱。

命令只有三条:

cd /d D:\ComfyUI python -m venv venv venv\Scripts\activate

第三条命令执行后,命令行前面会多出一个(venv)前缀,说明你已经进到这个房间里了。后面所有的 pip 安装操作,都要在这个状态下执行。如果你关掉窗口重新打开,记得先重新 activate 一次,这是新手最常忘的一步,忘了就会装到系统环境里,然后开始怀疑人生。

3. 拿到 ComfyUI 本体:两种路径的取舍

PyTorch 环境准备好之后,就该拿到 ComfyUI 本体了。这里有两条路,各有各的适用场景。

3.1 官方便携包解压即用

官方会发布一个压缩包版本,解压出来直接带内嵌的 Python 运行环境,本质上是个"半原生"方案——它不是第三方整合包,代码是官方的、干净的,只是把 Python 环境一起打包了。

这种做法适合想省掉第 4 章全部内容的人。解压时有两个细节要注意:一是别用系统自带的老解压工具,压缩包可能用了高压缩率格式,用专业的解压软件更稳妥;二是解压出来的文件夹同样要遵守纯英文路径的规矩。

解压完成后,目录里会有几个启动脚本,一般分显卡版和纯 CPU 版。有独立显卡就点显卡那个,没有就点 CPU 那个——后者出图极慢,一张 512 分辨率的图可能要几分钟,做好心理准备。

3.2 用 git clone 拉取源码

如果你已经按上一章建好了虚拟环境,那用这种方式最干净。命令结构是这样:

git clone <ComfyUI 官方仓库地址> ComfyUI

仓库地址去官方发布页面上复制,我在这里写死一个地址反而容易过期。命令最后那个ComfyUI是你想建的文件夹名字,可以自定义,但同样建议纯英文。

拉取完成后进入目录,你会发现里面没有模型文件、没有依赖包,干干净净就是源码。这很正常,接下来的活就是把它"养"起来。

3.3 目录结构逐层拆解,尤其是 models

装好后花三分钟认清目录,比后面瞎找半小时值。核心目录我列在下面:

目录路径放什么说明
models/checkpoints主模型(大模型)最常放错的地方,一个模型动辄 2G 到 7G
models/vaeVAE 解码模型有些模型需要单独配,缺了会出灰图或黑图
models/loras微调模型风格、人物、画风类的小模型
models/controlnet控制网模型线稿、深度、姿态等控制图用
models/clip文本编码器新版架构会把文本编码器单独拆出来
models/clip_vision视觉编码器图生图、风格参考类节点会用到
models/upscale_models放大模型高清修复环节用
models/embeddings文本嵌入正向反向提示词里引用的词向量
custom_nodes自定义节点所有插件都装这里
output出图结果默认保存位置,可改
input输入图片图生图、控制网读图的默认位置

我强调一下checkpoints:很多人第一次跑图失败,就是因为把大模型文件直接扔在了models根目录,或者扔进了models/loras。放错位置,界面的模型下拉框里就是空的,你会以为是软件坏了。

还有一类新架构的模型,主干和文本编码器是分开的,会分别放到models/unet(有的版本叫diffusion_models)和models/clip目录下,跟传统单文件大模型不是一回事。第一次接触这类模型时容易懵,记住"单文件进 checkpoints,拆分的进对应子目录"就行。

3.4 一个容易忽略的细节:模型文件夹可以不存在

刚拉下来的源码里,models下的很多子文件夹是空的,甚至有些目录压根没建。这不影响启动,但会让你在找位置的时候犯迷糊。我的做法是提前把常用子目录手动建一遍,反正不占空间,后面往里丢东西的时候路径是现成的。

4. 装 PyTorch 与依赖:决定出图速度的分水岭

这一章是整篇最关键的部分。装错一个包,你的显卡可能就从"十几秒一张图"变成"五分钟一张图",而且界面上不会有任何提示,你只会觉得"这软件怎么这么慢"。

4.1 先搞清楚驱动支持到哪个版本

打开命令行敲:

nvidia-smi

输出里右上角会显示一个版本号,那是驱动支持的运行时上限。比如显示支持到 12.4,那你可以装 CUDA 12.1 或 12.4 对应版本的 PyTorch,但不能装 12.6 的。原则是向下兼容:驱动新、框架旧,没问题;驱动旧、框架新,可能报错。

如果这条命令提示找不到,说明驱动没装好或者版本太老,先去更新显卡驱动,这是所有后续步骤的前提。

4.2 安装命令是怎么拼出来的

PyTorch 的安装命令不是随便写的,它由三部分组成:包名、CUDA 版本对应的源地址。

pip install torch torchvision torchaudio --index-url <对应你 CUDA 版本的官方源地址>

那条--index-url是核心。默认的源里放的是 CPU 版本,你不指定,pip 就给你装个只能用处理器跑的版本。装完之后一切看起来正常,界面能开、模型能加载,就是出图慢得离谱。这是新手第二大坑。

关于版本对应关系,去官方安装页面上按你的系统、包管理方式、CUDA 版本选一下,它会直接给你一条完整命令,复制粘贴最保险。

4.3 requirements.txt 里埋的雷

装完 PyTorch,接着装 ComfyUI 自己的依赖:

pip install -r requirements.txt

这里有个很多人中招的地方:requirements.txt里往往也写着 torch 相关的条目。如果你不加约束地执行,pip 有可能把刚装好的显卡版 torch 覆盖成 CPU 版,或者降级成一个不匹配的版本。

我的处理方式是:装完依赖后立刻回头验证一次。

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

正常输出应该是版本号加一个 True。如果打印出 False,说明当前 torch 用不了显卡,回到 4.2 重新装一次显卡版即可。别嫌麻烦,这个验证花五秒钟,能省掉后面半小时的困惑。

还有一种情况是版本号里带着+cpu字样,那基本可以确定装错了,直接重装。

4.4 顺便装一下 pip 加速

依赖包体积不小,默认源在国内访问速度可能很慢,几十兆的包下十分钟。建议临时指定一个国内镜像源来加速:

pip install -r requirements.txt -i <国内常用镜像源地址>

镜像源地址在各大开源社区都能查到,选一个响应快的就行。注意镜像源存在同步延迟,如果某个包提示找不到版本,把-i参数去掉再试一次,走官方源兜底。

4.5 加速库要不要装

有些教程会让你装额外的加速库来提升出图速度。我的建议是:先别装。第一次安装的目标是跑通,不是跑快。多装一个包就多一个变量,出问题时你分不清是哪一层导致的。等你确认基础环境能稳定出图了,再回头折腾加速,出问题也好回退。

5. 首次启动与跑通第一张图

环境齐了,接下来就是把界面拉起来。

5.1 启动命令与常用参数

最基础的启动方式:

python main.py

命令行会打印出一串加载日志,最后告诉你服务跑在某个本地地址上。把这个地址复制到浏览器打开,就是节点界面。

但实际使用中,我建议你写一个启动脚本,把常用参数固定下来。Windows 下新建一个.bat文件,内容大致是这样:

@echo off cd /d D:\ComfyUI call venv\Scripts\activate python main.py --port 8188 --preview-method auto pause

最后那个pause很重要,程序崩了窗口不会瞬间消失,你能看到报错信息。

常用参数我整理成表:

参数作用什么时候用
--port指定端口号默认端口被占用时换一个
--listen允许局域网访问想让同网络下其他设备打开界面
--lowvram低显存模式6G 显存跑大模型时
--novram极低显存模式4G 显存,速度会明显下降
--highvram高显存模式16G 以上显存,减少反复加载
--cpu强制用处理器没有独立显卡时的兜底方案
--output-directory自定义出图目录想按项目分类存放结果

显存那几个参数,我的经验是能不设就不设。默认策略已经能应付大部分情况,加了低显存模式反而可能让模型在内存和显存之间反复搬运,速度掉一截。只有真的报显存不足,再逐级加上去试。

5.2 默认工作流的节点链路拆解

界面打开后,你会看到一个已经连好的工作流。别急着改,先理解它。这条链路是 ComfyUI 的最小闭环:

加载模型 → 正向提示词编码 → 反向提示词编码 → 生成空白潜空间 → 采样器 → VAE 解码 → 保存图像

逐个说人话。

加载模型节点负责把checkpoints里的模型读进显存,下拉框里能选到的就是你放对位置的文件。正向和反向两个文本编码节点,分别写你想要的和你不想要的,反向提示词不是必须的,但写了通常更稳。空白潜空间节点决定出图的宽高,这里的数字是像素除以 8 之后的结果,所以想生成 512×512,这里填 64×64。采样器是核心,负责把那团噪声一步步"雕"成图像,步数控制迭代次数,步数越高细节越多但边际收益递减,20 到 30 步是常用区间;CFG 控制模型对提示词的服从程度,太低画面散,太高画面僵,7 左右是个常见起点;随机种子决定构图,同一个种子加同一套参数,出来的图基本一致,这是复现别人作品的关键。

最后 VAE 解码把潜空间数据还原成像素图,保存节点写进output目录。

5.3 从零跑通第一张图的完整动作

模型文件放进checkpoints之后,回到界面点一下刷新按钮,或者直接按一下键盘上的 R 键,下拉框里就会出现新模型。

选好模型,在正向提示词里写一句简单的描述,比如一个场景加光照加画风的组合。反向提示词先留空或者写几个通用的负面词。宽高先用 512×512 试水,采样步数 20,点一下队列按钮,等十几秒。

出图之后先看一眼有没有问题。如果一切正常,恭喜你,环境彻底通了。这时候再去调分辨率、加步数、试不同采样器。

5.4 出图异常的速查表

我把常见现象和对应原因列出来,出问题时按表排查,比在群里问快得多。

现象大概率原因处理方式
图全黑或全灰VAE 不匹配或缺失换一个 VAE 模型,或把 VAE 设为自动
图里全是噪点步数过低,或模型类型选错加步数到 20 以上,确认模型架构匹配
提示显存不足分辨率过高或模型过大降分辨率,加--lowvram
提示 torch 不支持 CUDA装成了 CPU 版按 4.2 重装显卡版
界面打不开端口占用或服务没起来看命令行日志,换--port
模型下拉框是空的文件位置不对确认在checkpoints下,点刷新
出图极慢但没报错走了处理器或显存交换验证cuda.is_available(),检查显存占用
界面白屏浏览器缓存强制刷新或换浏览器

这张表我建议你截图存着,前面三次装环境基本都会撞上一两条。

6. 装完之后:更新、插件与模型共享

环境跑通只是开始,后面还有三件事决定了这套东西好不好用。

6.1 更新本体的正确姿势

用 git 方式装的,更新就两条命令,在项目目录下执行:

git pull pip install -r requirements.txt

第二条别省。代码更新了,依赖清单往往也跟着变,只拉代码不更新依赖,很容易出现缺包报错。

更新前有个动作我强烈建议你做:把custom_nodes目录复制一份备份。插件生态更新节奏和本体不同步,本体升级后偶尔会出现某个插件不兼容、启动直接报错的情况。有备份就能快速定位是不是插件导致的——把custom_nodes临时改名,重启,如果正常了,那就是插件问题,再一个个往回放。

用便携包方式的,官方通常会提供更新脚本,双击运行即可,原理一样。

6.2 装一个节点管理器

ComfyUI 的插件叫自定义节点,装法是把插件仓库克隆到custom_nodes目录下:

cd custom_nodes git clone <插件仓库地址>

但手动装有个痛点:有些工作流依赖十几个节点,你根本不知道该装哪些。所以第一件事我建议装一个节点管理器,它能扫描工作流里缺哪些节点、一键安装、还能管理已有节点。

安装方式同样是克隆到custom_nodes,然后重启程序。装完界面上会多出一个管理入口,之后遇到"缺少节点"的红框提示,点一下就能补齐,省掉大量查文档的时间。

要注意的是,管理器装插件时默认也会走网络下载,速度可能不稳定,遇到卡住就重试,别急着删。

6.3 用配置文件共享已有的模型库

如果你之前用过别的绘图工具,硬盘里已经躺着一堆模型,那没必要再复制一份。ComfyUI 支持通过配置文件挂载外部模型目录。

在项目根目录下找一个以.yaml.example结尾的示例文件,复制一份去掉后缀,然后用文本编辑器打开,按里面注释的格式写路径就行,大致结构是这样:

comfyui: base_path: D:/其他工具目录 checkpoints: models/checkpoints loras: models/loras vae: models/vae

写的时候注意两点:路径用正斜杠,别用反斜杠;缩进用空格不用制表符。这两点错了配置文件会静默失效,界面上看不到任何报错,只是模型列表还是空的。

改完重启,两边就能共用同一批模型文件了,硬盘空间省下来不少。

6.4 几条踩出来的经验

最后分享几条我在反复装环境中总结的东西,都属于文档里不会写、但实际很影响体验的。

一次只改一个变量。装环境最忌讳东改一下西改一下,改完发现不行了,也不知道是哪一步导致的。每改一处,重启验证一次,出问题立刻回退,这是排错效率最高的方式。

保留一份能跑的环境快照。确认环境稳定之后,把整个目录压缩备份一份。后面折腾插件把环境搞坏了,直接解压回来,比重新装一遍快得多。这一步花五分钟,能救你一次重装。

别迷信"最新版本"。Python、PyTorch、插件,三个东西都有更新冲动,但它们的兼容性不是同步的。我的习惯是环境稳定后就不动 Python 和 PyTorch,只在必要时更新本体代码和插件,这样能避开大部分兼容性问题。

显存不够先降分辨率,别急着换硬件。很多人一看到显存报错就觉得卡不行了,实际上把 1024 降到 768,或者把批次数从 4 改成 1,往往就够用了。分辨率对显存占用的影响是平方级的,768 比 1024 少了将近一半的像素量。

报错先看最后几行。命令行刷屏很快,但真正的错误原因几乎总在最后几行。往上翻找关键词,比如版本冲突、找不到模块、显存不足,比从头读一遍日志快得多。养成复制最后几行去搜索的习惯,绝大多数问题别人都遇到过。

我自己现在装一套新环境,从零到出第一张图大概二十分钟,其中一半时间花在等下载。这个时间投入换来的是一套你完全理解、随时能修的环境,后面每次遇到问题都能自己解决,不用等人回复。这个交换,我觉得挺值。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询