ComfyUI 便携版依赖损坏后,按一个报错一个包修启动
基于真实 Windows 便携版 ComfyUI 修复过程:从 No module named sqlalchemy、torch、frontend package 到 kornia、PyOpenGL,一个包一次启动验证。
如果 Windows 便携版 ComfyUI 因为依赖缺失启动失败,不要一上来就大范围重装。
更稳的实战循环是:
- 启动 ComfyUI
- 只读日志里的第一条新阻塞
- 在
python_embeded里只装这一个包 - 再启动一次
- 一直重复,直到网页、
/system_stats、/object_info和pip check都健康
这篇教程来自 2026-05-18 的一次真实破坏环境修复。这个实验环境一开始报 ModuleNotFoundError: No module named 'sqlalchemy',最后在 RTX 4070 Ti SUPER 上恢复到 CUDA 版 PyTorch 正常启动。
实战规则
装一个包,启动一次,再看新日志。用户复制什么报错来搜,教程就应该让他看到这个报错是怎么一步步变成下一个报错,最后变成成功启动的。
什么时候用这篇
适合这些情况:
- 你用的是 Windows 便携版 ComfyUI
- 启动命令使用
python_embeded\python.exe - ComfyUI 卡在
Starting server之前 - 你看到的是
ModuleNotFoundError: No module named 'sqlalchemy'、No module named 'torch'、comfyui-frontend-package is not installed这类真实报错 - 你想保留已有模型、工作流和 custom nodes
- 你想知道“到底是哪一个包让日志往前走了”,而不是直接重装一堆东西
如果只是某个 custom node 缺一个普通包,先修那个节点,不要套用这篇完整流程。
这次真实修复链路
下面是这次实验环境的真实“一个包一次启动”过程。
| 轮次 | 启动日志里的第一条新信号 | 只做一个动作 | 再启动后的变化 |
|---|---|---|---|
| 1 | ModuleNotFoundError: No module named 'sqlalchemy' | pip install "SQLAlchemy>=2.0" | 新报错变成 filelock |
| 2 | ModuleNotFoundError: No module named 'filelock' | pip install filelock | 新报错出现 alembic 和 yaml |
| 3 | Error importing dependencies: No module named 'alembic' | pip install alembic | 数据库初始化继续往前走 |
| 4 | ModuleNotFoundError: No module named 'yaml' | pip install PyYAML | 新报错变成 PIL |
| 5 | ModuleNotFoundError: No module named 'PIL' | pip install Pillow | 新报错变成 tqdm |
| 6 | ModuleNotFoundError: No module named 'tqdm' | pip install tqdm | 新报错变成 comfy_aimdo |
| 7 | ModuleNotFoundError: No module named 'comfy_aimdo' | pip install comfy-aimdo | 新报错变成 torch |
| 8 | ModuleNotFoundError: No module named 'torch' | 先装 torch,发现是 CPU 版,再从 PyTorch CUDA 源替换成 torch==2.12.0+cu130 | CUDA 变成可用 |
| 9 | ModuleNotFoundError: No module named 'safetensors' | pip install safetensors | 新报错变成 packaging |
| 10 | ModuleNotFoundError: No module named 'packaging' | pip install packaging | 新报错变成 numpy |
| 11 | ModuleNotFoundError: No module named 'numpy' | pip install "numpy>=1.25.0" | 新报错变成 einops |
| 12 | ModuleNotFoundError: No module named 'einops' | pip install einops | 新报错变成 psutil |
| 13 | ModuleNotFoundError: No module named 'psutil' | pip install psutil | 日志进入显存检测,然后新报错变成 torchvision |
| 14 | ModuleNotFoundError: No module named 'torchvision' | 从同一个 CUDA wheel 源安装 torchvision | 新报错变成 torchaudio |
| 15 | ModuleNotFoundError: No module named 'torchaudio' | 从同一个 CUDA wheel 源安装 torchaudio | 新报错变成 scipy |
| 16 | ModuleNotFoundError: No module named 'scipy' | pip install scipy | 新报错变成 transformers |
| 17 | ModuleNotFoundError: No module named 'transformers' | pip install transformers | 新报错变成 torchsde |
| 18 | ModuleNotFoundError: No module named 'torchsde' | pip install torchsde | 新报错变成 av |
| 19 | ModuleNotFoundError: No module named 'av' | pip install av | 新报错变成 aiohttp |
| 20 | ModuleNotFoundError: No module named 'aiohttp' | pip install aiohttp | 新报错变成 requests |
| 21 | ModuleNotFoundError: No module named 'requests' | pip install requests | 新报错变成 pydantic |
| 22 | ModuleNotFoundError: No module named 'pydantic' | pip install pydantic | 新报错变成 comfyui-frontend-package |
| 23 | comfyui-frontend-package is not installed | pip install comfyui-frontend-package | 服务能启动,但部分内置 extras 节点导入失败 |
服务启动后还不算完全干净。日志里仍然有一些内置 extras 节点和功能包缺失,所以继续按同样方式清理:
| 清理信号 | 只做一个动作 | 结果 |
|---|---|---|
No module named 'kornia',影响 post-processing、canny、morphology 节点 | pip install kornia | 节点数从 657 增加到 685 |
No module named 'spandrel',影响 nodes_upscale_model.py | pip install spandrel | 节点数增加到 687 |
多次出现 No module named 'pydantic_settings',解析 pyproject.toml 失败 | pip install pydantic-settings | 启动日志从大量重复告警变短 |
OpenGL dependencies not available | 先 pip install PyOpenGL,重启后再 pip install glfw | GLSL/OpenGL 节点恢复 |
No module named 'simpleeval',影响 nodes_math.py | pip install simpleeval | 日志里不再有 IMPORT FAILED |
comfyui-workflow-templates is not installed | pip install comfyui-workflow-templates | workflow templates 告警消失 |
comfyui-embedded-docs package not found | pip install "comfyui-embedded-docs==0.4.4" | embedded docs 告警消失 |
WARNING: blake3 package not installed | pip install blake3 | blake3 告警消失 |
Failed to import comfy_kitchen | pip install "comfy-kitchen>=0.2.8" | comfy_kitchen 的 CUDA 和 eager backend 加载成功 |
最终日志里仍然会提示 comfy_kitchen 的 Triton backend 不可用,因为没有安装 triton。这不是启动阻塞点:CUDA 和 eager backend 已经可用,ComfyUI 也能正常打开。
第 0 步:站在便携包根目录
PowerShell 进入包含这些文件夹和脚本的位置:
run_nvidia_gpu.bat
run_cpu.bat
python_embeded
ComfyUI确认 Python:
.\python_embeded\python.exe -s -c "import sys; print(sys.executable); print(sys.version)"如果这不是启动 ComfyUI 的 Python,先切回正确环境。
第 1 步:每次启动都保存日志
一边修一边留证据:
$ts = Get-Date -Format 'yyyyMMdd_HHmmss'
New-Item -ItemType Directory -Force .\repair_logs | Out-Null
$out = ".\repair_logs\attempt_${ts}_stdout.log"
$err = ".\repair_logs\attempt_${ts}_stderr.log"
Start-Process -FilePath ".\python_embeded\python.exe" `
-ArgumentList @("-s", "ComfyUI\main.py", "--windows-standalone-build") `
-WorkingDirectory (Get-Location) `
-RedirectStandardOutput $out `
-RedirectStandardError $err `
-PassThru然后看日志尾部:
Get-Content $err -Tail 200只处理第一条真正的阻塞错误。装完一个包,再启动一次,保存新的日志。
第 2 步:不要只看到 8188 能打开就宣布成功
这次实验里,http://127.0.0.1:8188/ 曾经返回 200,但它不是 SEO Lab 这套坏环境,而是 C:\Users\huhaibin\Documents\ComfyUI 里的另一个 ComfyUI。
先看端口是谁占着:
Get-NetTCPConnection -LocalPort 8188 -ErrorAction SilentlyContinue |
Select-Object LocalAddress,LocalPort,State,OwningProcess
Get-CimInstance Win32_Process |
Where-Object { $_.CommandLine -like "*ComfyUI*main.py*" } |
Select-Object ProcessId,CommandLine如果 8188 被别的 ComfyUI 占了,修复时用一个干净端口:
.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --port 8191只有同一个便携包根目录启动的进程,才算这套环境真的起来了。
第 3 步:Torch 不只是能 import,还要有 CUDA
如果日志里出现:
ModuleNotFoundError: No module named 'torch'直接 pip install torch 可能会装出 CPU 版。实验里就是这样:
2.12.0+cpu None False这时 import 成功没有意义,因为 CUDA 还是不可用。实验环境需要从 PyTorch CUDA wheel 源替换:
.\python_embeded\python.exe -s -m pip install `
--index-url https://download.pytorch.org/whl/cu130 `
--extra-index-url https://pypi.tuna.tsinghua.edu.cn/simple `
"torch==2.12.0+cu130"然后在同一个 embedded Python 里验证:
.\python_embeded\python.exe -s -c "import torch; print(torch.__version__, torch.version.cuda, torch.cuda.is_available()); print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else 'no cuda')"实验里修复后的结果是:
2.12.0+cu130 13.0 True
NVIDIA GeForce RTX 4070 Ti SUPER你自己的环境要用匹配显卡、驱动和 PyTorch 版本的 CUDA wheel。不要默认相信 pip install torch 一定是 GPU 版。
第 4 步:frontend/template/docs 包要看本地 requirements
如果日志说:
comfyui-frontend-package is not installed.先看你本地的 ComfyUI\requirements.txt。
这次实验里,直接安装 frontend 包得到的是:
ComfyUI frontend version: 1.43.18
required_frontend_version: 1.42.15它可以启动,但公开教程里更稳的写法是:如果 requirements 固定了版本,就按你本地 ComfyUI 要求的版本来。
同理要注意:
comfyui-frontend-packagecomfyui-workflow-templatescomfyui-embedded-docs
第 5 步:真正验证恢复
最终实验启动命令是:
.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build --port 8191健康日志长这样:
ComfyUI version: 0.20.1
pytorch version: 2.12.0+cu130
Device: cuda:0 NVIDIA GeForce RTX 4070 Ti SUPER : cudaMallocAsync
ComfyUI frontend version: 1.43.18
comfy-kitchen version: 0.2.8
Starting server
To see the GUI go to: http://127.0.0.1:8191继续验证接口和依赖:
Invoke-RestMethod http://127.0.0.1:8191/system_stats
Invoke-RestMethod http://127.0.0.1:8191/object_info
.\python_embeded\python.exe -s -m pip check这次最终结果:
ComfyUI 0.20.1
PyTorch 2.12.0+cu130
GPU: NVIDIA GeForce RTX 4070 Ti SUPER
object_info node count: 689
CheckpointLoaderSimple: present
KSampler: present
ComfyMathExpression: present
pip check: No broken requirements found.哪些是阻塞,哪些只是警告
| 日志 | 是否阻塞 | 怎么处理 |
|---|---|---|
ModuleNotFoundError: No module named 'sqlalchemy',且 server 还没启动 | 是 | 在 ComfyUI 的 embedded Python 里安装 SQLAlchemy,然后重启 |
ModuleNotFoundError: No module named 'torch' | 是 | 安装 Torch 后必须验证 CUDA,不只看 import |
comfyui-frontend-package is not installed | 是 | 按本地 ComfyUI 需要的版本安装 frontend 包 |
IMPORT FAILED: nodes_math.py | 部分影响 | 服务能启动,但数学表达式节点不可用;安装 simpleeval |
出现 Starting server | 否 | 服务已经起来了,继续用接口验证 |
Found comfy_kitchen backend triton: {'available': False, ...} | 通常不是 | 除非具体工作流需要 Triton,否则先不用处理 |
/system_stats 返回正确 GPU | 否 | 说明 runtime 已经活着 |
一个个装,还是一次装 requirements
按这个判断:
| 情况 | 更稳的动作 |
|---|---|
| 正在诊断一个不知道坏在哪的便携环境 | 一个包,重启,看下一条日志 |
| 第一条错误来自某个 custom node | 修那个节点的包或 requirements |
| Torch 能 import 但 CUDA 是 false | 先修 CUDA 版 Torch wheel |
| Torch/CUDA 仍健康 | 避免会替换 GPU 栈的大范围命令 |
| 全新干净安装 | pip install -r ComfyUI\requirements.txt 可以是正常动作 |
对全新环境来说,一次性安装 requirements 没问题。但对一个你想保住现状的便携环境来说,逐条日志修复更容易知道到底发生了什么。
不要做这些事
- 不要用系统
pip去修 embedded Python 里的 ComfyUI - 不要只因为 8188 能打开,就认定当前坏环境修好了
- 不要把 CPU Torch import 成功当成 CUDA 成功
- 不要为了诊断问题,一次粘贴很长的包列表
- 不要把
Starting server之后的每一条 warning 都当成致命错误 - 不要在备份模型、工作流和 custom nodes 之前删除环境
Wonderful Launcher 能帮什么
这类问题难的不是背包名,而是整个循环:
- 启动
- 抓第一条真错误
- 修正确的 Python
- 再启动
- 区分阻塞和警告
- 验证应用真的恢复
Wonderful Launcher 的价值就是把这个恢复循环变清楚,尤其适合那些已经被插件和依赖修改过很多次的 ComfyUI 便携环境。
相关指南
- ModuleNotFoundError: No module named 'sqlalchemy' in ComfyUI
- comfyui-frontend-package is not installed in ComfyUI
- ModuleNotFoundError: No module named 'torch' in ComfyUI
- ModuleNotFoundError: No module named 'transformers' in ComfyUI
- ModuleNotFoundError: No module named 'kornia' in ComfyUI
- OpenGL dependencies not available in ComfyUI
- ComfyUI 依赖冲突
- ComfyUI 中 Triton 缺失或不可用
- Torch Not Compiled With CUDA Enabled
来源与实测
- 2026-05-18 Windows 便携版修复实验:
E:\ComfyUI_portable\ComfyUI_SEO_Lab - 第一条致命日志:
ModuleNotFoundError: No module named 'sqlalchemy' - 关键踩坑:8188 属于另一个 ComfyUI 进程,所以实验环境最终用 8191 验证
- 最终启动:ComfyUI
0.20.1、frontend1.43.18、PyTorch2.12.0+cu130、GPUNVIDIA GeForce RTX 4070 Ti SUPER - 最终接口验证:
/object_info返回 689 个节点,pip check返回No broken requirements found
你可以手动修复,也可以下载 Windows 版 Wonderful Launcher 自动诊断插件报错、依赖缺失和环境损坏,不用盲目重装。
免费下载 Windows 版Did this fix your issue?
Your answer helps prioritize verified ComfyUI repairs.