ComfyUI 的 Python 与 PyTorch 版本怎么定:照 README 版本矩阵倒推一条安装命令
装 ComfyUI 这件事,真正会卡住人的一步不是 clone 仓库,是在敲第一条 pip install 之前,你得先决定用哪个 Python、装哪个 PyTorch。这两个决定一旦定错,症状不会立刻出现——ComfyUI 本体大概率能起来,等你装到第三第四个自定义节点,或者第一次点 Queue 的时候才会翻车,那时候再回头换 Python 版本,等于整个环境重来。
所以这篇不讲怎么点下一步,只讲一件事:按官方 README 的版本矩阵,把版本先定死。以下全部是 ComfyUI 官方仓库 README(核对日 2026-08-09,对应 v0.31.0)的口径,不是本机实测结论。
一、Python 侧:三档,选中间那档
README 的 Manual Install 章节对 Python 版本给的是分档表述,不是一句”支持 3.x+“:
| Python 版本 | README 的原始表述要点 |
|---|---|
| 3.14 | 能用,但某些自定义节点可能有问题;free threaded 变体能用,但部分依赖会启用 GIL,所以不算完全支持 |
| 3.13 | very well supported(支持得很好) |
| 3.12 | 如果在 3.13 上遇到自定义节点依赖问题,可以退回 3.12 |
这张表读法很明确:3.13 是默认答案,3.12 是退路,3.14 是你自己承担风险的选项。
3.14 这一档值得多说两句,因为它最容易被误读成”新版更好”。README 说的是自定义节点可能有问题——ComfyUI 的大半价值都在自定义节点生态上,一个”部分节点可能装不上”的 Python 版本,对绝大多数人来说就是不可用。至于 free threaded 变体,README 的措辞是”能用,但部分依赖会启用 GIL,所以不算完全支持”。注意这句话里有两层意思:能跑起来是一回事,官方承认它不算完全支持是另一回事。你不能把”能用”当成”支持”。
3.12 的定位也别搞反。它不是”更稳的老版本”,README 把它明确写成 3.13 上遇到自定义节点依赖问题时的退路。也就是说:先上 3.13,装节点撞墙了再退 3.12,不要一上来就用 3.12 图心安。
二、PyTorch 侧:2.7 是地板,不是目标
README 关于 torch 的几条,我把它们摘成决策语言:
- torch 2.7 是最低支持版本(minimally supported),但 README 极力推荐用更新的版本。 “最低支持”的意思是低于它别指望能跑,不是”装到 2.7 就够了”。
- cu130 及以上,在 NVIDIA 20 系及以上是必需的(required)。 这是一条硬约束,不是优化建议。
- 版本策略:一般推荐用最新 major 版 pytorch + 最新 cuda 版本,除非它发布不足 2 周。
- 如果你的 pytorch 超过 6 个月没更新,请更新它。
后两条合起来其实是一个很实用的窗口:太新的(发布不到 2 周)先别碰,让别人替你踩坑;太旧的(超过 6 个月)该更新了。这个”6 个月”是 README 直接给的数字,可以拿来当环境体检的判据——你手上那个跑了很久没动的 ComfyUI 环境,如果 torch 是半年多前装的,那就属于官方点名建议更新的状态。
顺带说一个反直觉的地方:很多人升级 ComfyUI 只升 core,从来不动 torch,觉得”能跑就别碰”。README 的态度恰恰相反,它把 pytorch 保持较新当成常规建议,而不是折腾。
三、命令怎么写:按平台各取一条,别混用
下面这些命令原样来自 README,不要改写、不要自己替换 index-url 后面的路径。
NVIDIA(稳定版):
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
这条对应上面那条硬约束:20 系及以上必须 cu130 及以上。--extra-index-url 的作用是在默认源之外再加一个 PyTorch 官方的 CUDA 轮子源——版本号 cu130 就写在 URL 里,这也是为什么这条命令不能随便改 URL:你改的其实是 CUDA 版本。
NVIDIA(nightly):
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu132
--pre 是允许安装预发布版本,没有它 pip 不会选 nightly 轮子。nightly 属于你明确知道自己要什么才用的路径,和”发布不足 2 周先别用”是同一类风险,只是更极端。
AMD(Linux,ROCm 稳定版):
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm7.2
Intel Arc(torch.xpu,Windows 与 Linux 都用这条):
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/xpu
AMD 还有一组 README 明确标为 Experimental 的构建(Windows 与 Linux,仅 RDNA 3、3.5、4),README 注明它们比上面的构建硬件支持更少,但能在 Windows 上工作,且要装对应自己硬件的那一条:
# RDNA 3(RX 7000 系)
pip install --pre torch torchvision torchaudio --index-url https://rocm.nightlies.amd.com/v2/gfx110X-all/
# RDNA 3.5(Strix halo / Ryzen AI Max+ 365)
pip install --pre torch torchvision torchaudio --index-url https://rocm.nightlies.amd.com/v2/gfx1151/
# RDNA 4(RX 9000 系)
pip install --pre torch torchvision torchaudio --index-url https://rocm.nightlies.amd.com/v2/gfx120X-all/
标了 Experimental 就按 Experimental 对待:能用不等于稳定,别拿它做需要长期无人值守的活。
装完 torch 之后,才是装 ComfyUI 自己的依赖,在 ComfyUI 目录内执行:
pip install -r requirements.txt
然后启动:
python main.py
把整条路径串起来(以一台 NVIDIA 30 系机器、Python 3.13 环境为例):
# 1. 先装匹配显卡的 PyTorch(20 系及以上必须 cu130 及以上)
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
# 2. 再在 ComfyUI 目录内装本体依赖
pip install -r requirements.txt
# 3. 启动
python main.py
以上为按官方参数语义组合的示例,未逐项实测,以官方文档与 --help 输出为准。
如果你不想自己管这些,README 还给了 comfy-cli 这条路:
pip install comfy-cli
comfy install
四、Windows Portable 包其实已经替你把版本定死了
这一节专门给 Windows 用户,因为它是版本决策里最容易被跳过的一环:你一旦用了 portable 包,Python 和 PyTorch 版本就不是你选的了。
README 写得很清楚:默认的 NVIDIA portable 包自带 python 3.13 与 pytorch cuda 13.0。这正好落在上面那张表的推荐档上,所以它是个合理的默认。
另一个包就是雷区了。ComfyUI_windows_portable_nvidia_cu126.7z 是 pytorch cuda 12.6 + python 3.12,README 的说明是:Supports Nvidia 10 series and older GPUs,DO NOT USE THIS ON NEWER 20 SERIES AND ABOVE GPUS。这句大写警告和上面”cu130 及以上在 20 系及以上是必需的”是同一条规则的两面——cu126 包给不了 20 系及以上需要的 CUDA 版本。
顺便纠正一个常见误解:portable 包不是”更专业的选择”。README 在 Installing 章节对它的原话是 “It is not recommended for regular users. Regular users should use the desktop app above.”,它的定位是”拿到最新 commit + 完全便携”。而 Desktop Application 才是 README 强烈推荐给新用户的方式(Windows 与 macOS)。
另外,如果默认的 nvidia portable 起不来,README 给的第一反应是更新 NVIDIA 驱动;解压环节出问题,README 让你右键文件 → 属性 → 解除锁定(unblock)。
五、产出物长什么样,以及怎么验收
先说产出物。这一步做完,你手上不会多出什么可视化的东西,我们也不去猜控制台会打印哪几行——README 没写,我们就不编。有依据可说的产出物只有三样:一个装好了对应平台 torch 的 Python 环境(版本按第一、二节定死)、一个装完 requirements.txt 依赖的 ComfyUI 目录、以及这个目录下的模型目录结构。模型目录这块 README 给了明确说法:小模型把 ckpt/safetensors 放进 ComfyUI\models\checkpoints,多文件的大模型按各自说明放进 ComfyUI\models\ 下对应的子目录。
还有一个文件值得在这时候先认一眼:仓库里的 extra_model_paths.yaml.example。README 的用法是把它改名为 extra_model_paths.yaml 再编辑,用来设置模型搜索路径、跟其它 UI 共享模型;standalone windows 构建里这个文件就在 ComfyUI 目录下。为什么放在版本这篇提:因为换 Python 版本、换装法(portable 换成手动装)往往意味着换目录,模型几十上百 GB 不可能跟着搬,这个文件就是让模型留在原地的官方入口。
产出物清点完,再过验收。有依据可查的验收点只有这几处,按顺序过:
python main.py能不能起来。 这是最粗但最有效的一道门。- 是否出现
Torch not compiled with CUDA enabled。 README 的 Troubleshooting 章节只给了一条排查项,就是这个错误。按字面,它说的是当前装到的这个 torch 轮子不带 CUDA 支持。README 没有解释成因,只给了处置,所以别在成因上多绕——直接按下面的处置重来一遍,比猜原因省时间。 - 模型有没有按上面那套目录规则放对。 版本没问题但模型没加载出来,多半是栽在这一条上,别误判成环境问题、更别因此回头去换 Python 版本。
碰到第 2 条,README 给的处置是重装:
pip uninstall torch
卸干净之后,用你平台对应的那条安装命令重新装一遍。这里最容易出错的地方有两个:一是卸载之后又敲了一条不带 index-url 的 pip install torch,等于原地转圈;二是装错了 CUDA 版本号——20 系及以上必须 cu130 及以上,用 cu126 的包换回来还是不行。
还有一个和版本决策相关但容易被忽略的点:requirements.txt(v0.31.0 时点)里有三个 comfy 官方包是用 == 精确 pin 的——comfyui-frontend-package==1.48.7、comfyui-workflow-templates==0.11.37、comfyui-embedded-docs==0.5.9。这意味着升级 core 会连带换掉前端版本。所以当你升级完发现界面行为变了,排查方向应该是连着 core 版本一起看,而不是只怀疑浏览器缓存。这一条只做到这里,官方没说的因果我们不外推。
六、什么情况下这套不适用
- Apple Mac silicon(M1/M2/M3/M4):不走上面任何一条 NVIDIA/AMD/Intel 命令。README 的步骤是装 pytorch nightly(它指向 Apple 的「Accelerated PyTorch training on Mac」开发者指南)→ 按 Manual Install 走 → 装依赖 →
python main.py。具体命令以 Apple 那份指南为准。 - Ascend NPU / Cambricon MLU / Iluvatar Corex:README 只给了顺序(先装厂商工具链和驱动,再装对应的 torch_npu / torch_mlu,最后按 Manual Install 的 Linux 指引装 ComfyUI),没有给任何具体版本号和踩坑解法。这几类平台请直接去厂商官方安装页,别照搬网上的版本号。
- ROCm 未正式支持的 AMD 老卡:README 在 Running 章节给的是运行期环境变量,比如 6700、6600 以及可能的其它 RDNA2 或更老的卡用
HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py,7600 以及可能的其它 RDNA3 卡用HSA_OVERRIDE_GFX_VERSION=11.0.0 python main.py。这属于绕过而不是支持,心里要有数。另外 README 提到 ROCm 可以试PYTORCH_TUNABLEOP_ENABLED=1提速,但注明代价是首次运行非常慢——如果你在做需要快速验证的调试,这个开关会干扰你的判断。 - 公司内网/离线环境:上面这些命令全都依赖能访问 PyTorch 的官方轮子源,源被墙掉或走了私有镜像时,版本选择权其实在镜像那边,本文的路径不成立,需要人工确认镜像里有哪些 CUDA 变体。
- 需要长期稳定的生产部署:README 的”追新”建议(最新 major + 最新 cuda)和生产环境要的可复现性是两个方向。真要上生产,把版本锁死并自己维护升级窗口,比跟着建议走更合适。
最后再收一句可执行的:新装就上 Python 3.13,NVIDIA 20 系及以上认准 cu130 及以上,torch 别停在 2.7,也别去追刚发布不到两周的版本,超过半年没更新就安排一次升级。这五句话覆盖了 README 版本矩阵里绝大部分决策,剩下的按平台各自处理。
延伸阅读
- 让 ComfyUI 和别的 UI 共享同一份模型目录
- 四个 portable 包别下错:ComfyUI Windows 便携版的选包与落地流程
- Windows 上装 ComfyUI 的四条路径:桌面版、portable、comfy-cli、手动装怎么挑
本文依据 ComfyUI 官方仓库(github.com/Comfy-Org/ComfyUI)的 README、comfy/cli_args.py、
release notes 与官方安全公告整理,核对日 2026-08-09,对应版本 v0.31.0;
文中引用的 issue 状态为该日期的快照。本文内容为官方文档与源码口径,非本机实测。
参数、默认值与功能随版本变动,请以官方文档与 python main.py --help 的实际输出为准。