ComfyUI 源码部署:基于 Python Embed 版本构建独立整合包
传统的 ComfyUI 部署方式面对复杂的环境配置、依赖冲突和模型路径等问题,而使用 Python Embed(嵌入式 Python)环境来部署 ComfyUI 你会得到专属整合包:
- 极致便携,随处运行:将整个环境(Python 解释器+ComfyUI+ 依赖库 + 模型)打包进一个文件夹,双击即可运行。
- 环境纯净,隔离冲突:完全独立于任何环境,杜绝了版本冲突。
1. Visual Studio 与 Git 安装
进入 Visual Studio 官网:https://visualstudio.microsoft.com/zh-hans/
下载社区版(Community),在安装时更改安装位置,并勾选'使用 C++ 的桌面开发'模块,其他默认即可。
进入 Git 官网:https://git-scm.com/
下载最新版,在安装时更改位置,其他默认按推荐设置即可。
2. ComfyUI 与 Python 下载
下载 ComfyUI
进入 GitHub 官网:https://github.com/
搜索 ComfyUI,选择 ComfyUI 官方的项目地址 comfyanonymous/ComfyUI,在本地磁盘新建一个自己想要安装 ComfyUI 的文件夹(如 ComfyUI)并进入,在该文件夹下打开 cmd 命令行,复制项目地址,通过 git clone 安装 ComfyUI 项目 (也可以下载 ZIP 解压到文件夹)。
下载 Python Embed 版本
在 Python 官网 https://www.python.org
在 Downloads 选择相应系统,下滑选择你需要的 Windows embeddable package 版本,下载后解压放进 ComfyUI 文件夹即可。
3. 环境配置
3.1 Python Embed 配置
Python Embed 是一个极简的、可嵌入的 Python 分发版,需要进行配置以满足基本使用功能。
配置 pip
下载 get-pip.py,打开 https://bootstrap.pypa.io/get-pip.py
复制里面的内容,保存到 TXT 文档里,并改文件名与后缀为 get-pip.py,并放在 Python-Embed 的文件夹中。在此文件夹页面上方路径栏中输入 cmd 打开命令提示符输入并执行:
.
python.exe get-pip.py
执行后显示 Successfully installed pip-25.3 即 pip 配置成功,会生成 Lib 与 Scripts 的文件夹,并将其加入环境变量中(可选,不加入则下载包需加上对应地址,否则会到系统变量地址中)。
库加载索引修改
进入 Python-Embed 文件夹中,打开 python312._pth 文件,去掉 import site 前的 # 后,保存。在文件夹中打开 cmd,验证安装成功:
.
python.exe -m pip -V
配置 pip 阿里源
在 Python Embed 文件夹,新建一个 pip.ini 文件,内容输入:
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
添加包的方法
必须用嵌入式的解释器进行安装,如:
D:\python-embed> .\python.exe -m pip install pandas -t .\Lib\site-packages
D:\python-embed> .\python -c "import pandas as pd; print(pd.__version__)"
D:\python-embed> .\python pandas -V
注意:解释器必须是嵌入式解释器 . python.exe,同时通过 -t 参数来指定三方库的位置,也就是说,必须安装到项目的目录中,而不是系统的默认开发环境目录。
embed 版的 python 过于精简,可能 tar 包也无法安装,可以下载 wheel 格式的直接安装。一个查找 wheel 的网址:https://www.piwheels.org/packages.html
Embed 版本默认缺少部分标准库,可按需添加:从完整 Python 安装中复制所需库,粘贴到 embed 环境的 lib 目录下。
3.2 CUDA 与 CUDNN 安装
在安装 CUDA 之前,必须知道的信息:
- 点击进入 NVIDIA App,点击驱动程序,拖到最下方即可看到驱动程序版本信息;
- 任务栏右键 NVIDIA 点击 NVIDIA 控制面板,点击最左下角的系统信息,再点击组件,可以看到 NVCUDA64 选项,其产品名称中包含 CUDA 版本(12.9)。注意 CUDA 版本可以向下兼容但不能向上兼容,一定注意 CUDA 的版本信息。
除了 CUDA 版本,必须的对应关系:
- 驱动对应 CUDA 有一个版本,pytorch 对应 CUDA 也有一个版本,所以除了看驱动版本外,还要看 pytorch 版本;
- CUDNN 也对应 CUDA 版本;
- pytorch 还与 python 版本有关;
- vscode(VSstudio)是 CUDA 安装的前提。
注意它们是一一嵌套的关系,在安装是要注意它们之间的版本。
CUDA 安装与卸载
在英伟达开发者官网下载 CUDA:https://developer.nvidia.com/downloads
下滑点击"CUDA Toolkit",再点击"download now",选择"archive of previous CUDA releases",选择对应版本的 CUDA(如 12.6、12.8)下载即可。50 系显卡仅适用于 12.8 与 12.9 版本的 CUDA!
初始安装界面显示的是临时解压目录,安装完会自动删除。安装选项选择自定义,在 CUDA 选项下取消"visual studio integration"的勾选(因为已经提前安装好了),其他默认。安装位置建议不做更改(因其后续可能影响到环境变量)。后续直接安装即可,安装后在 cmd 中输入 nvcc -V 看到 CUDA 版本即为安装成功,且查看系统环境变量可以发现已经添加到环境变量里了。
如果安装错了 CUDA 版本或者需要更新,查看已安装的 CUDA 版本(nvcc -V),打开系统程序卸载页面,卸载所有对应版本的 CUDA。
CUDNN 安装
在英伟达开发者官网下载 CUDNN:https://developer.nvidia.cn/rdp/cudnn-archive
找到对应版本(for CUDA 12.x)进行下载,注意需要登录。下载后解压,打开 CUDA 的安装地址,把 CUDNN 中对应的内容粘贴进去(最小单元文件,不是文件夹整个粘贴),除了 LICENSE。CUDNN 安装完成。
3.3 PyTorch 与依赖包安装
在安装依赖包之前,建议先安装 PyTorch,以免版本不对应引发报错。获得 CUDA 版本信息后,进入 PyTorch 官网:https://pytorch.org/
下滑到 install pytorch 模块,选择"pip, python, 12.X(向下兼容的版本即可)"。通过了解驱动对应的最高 CUDA 版本与 pytorch 对应的可选 CUDA 版本,我们明确了需要安装的 CUDA 版本。选择对应版本后复制代码并在 Python Embed 文件夹打开 cmd 运行:
.
python.exe -m pip install torch torchvision --index-url https://download.pytorch.org/whl/cu128 -t .\Lib\site-packages
安装完 Pytorch 后,把 ComfyUI 文件夹中的 requirements.txt 复制到 Python Embed 文件夹,打开 Python Embed 文件夹 cmd 窗口,输入以下代码安装 ComfyUI 所需依赖包:
.
python.exe -m pip install -r requirements.txt -t .\Lib\site-packages
到此,基础环境已经配置完毕!
4. ComfyUI 启动运行
4.1 创建启动脚本
执行完上述步骤后,你的文件夹会呈现以下结构:
ComfyUI/
├── Python-Embed/
│ ├── python.exe
│ ├── python312.dll
│ └── ...
├── main.py
├── requirements.txt
└── (其他你自己的代码和文件)
在 ComfyUI 文件夹下新建一个 TXT 文件,命名与后缀为 start.bat,用记事本编辑,写入以下内容:
@echo off
set PATH=%~dp0Python-Embed;%PATH%
Python-Embed\python.exe main.py
pause
双击 start.bat 文件尝试运行项目。由于 Python Embed 过于简洁,导致用其运行 main.py 文件时,无法定位到 ComfyUI 文件夹下的 comfy 文件夹,导致出现以下报错:
Traceback (most recent call last):
File "D:\ComfyUI\main.py", line 1, in <module>
import comfy.options
ModuleNotFoundError: No module named 'comfy'
请按任意键继续...
处理方法是,先备份一个原始的 main.py 副本以确保操作可退回,再打开 main.py 文件在最开头添加以下代码(在 import comfy.options 之前):
import sys
import os
current_dir = os.path.dirname(os.path.abspath(__file__))
if current_dir not in sys.path:
sys.path.insert(0, current_dir)
print(f"当前目录:{current_dir}")
print(f"Python 路径是否包含此目录:{current_dir in sys.path}")
保存后双击 start.bat 开始运行。
4.2 Manager 插件安装
打开 ComfyUI 文件夹的 custom_nodes 文件夹,进入 GitHub 官网搜索 comfyui 找到 manager,再使用 git clone 安装。
Manager 插件介绍:
- DB:Manager 缓存时间;
- Preview method:Ksampler 预览显示方式;
- custom nodes manager:重要,管理与安装插件。弊端,直接安装插件但看不到插件文档,点击插件蓝色名称可以查看使用文档。
- install missing custom nodes:查找与安装缺失插件,但是大部分都不能使用,有模型、环境等问题,环境可以根据经验与网上查询解决,模型需要阅读使用文档;
- install models:不推荐使用,不知道安装位置等
4.3 生成你的第一张图片!
Ctrl+ 左键点击 http://127.0.0.1:8188 即可打开 ComfyUI
To see the GUI go to: http://127.0.0.1:8188
先通过网站或者网盘分享下载 checkpoint 模型,放进 ComfyUI\models\checkpoints 文件夹并刷新 ComfyUI 网页。常见资源站点:
在"Checkpoint 加载器'中选择你下载好的模型,点击运行生成你的第一张图片。
4.4 快捷键与常见部署报错
快捷键(全是小写)
- Ctrl+Enter:运行工作流;
- Ctrl+shift+Enter:首先运行工作流;
- Ctrl+s:保存工作流;
- Ctrl+m:禁止/启用节点;
- Ctrl+b:bypass 节点;
- delete/backspace:删除内容;
- Ctrl+ 拖动:框选;
- shift+ 拖动:整体拖动;
- Ctrl+c/Ctrl+v:复制粘贴;
- Ctrl+c/Ctrl+shift+v:带连接线粘贴;
Module 报错
一般 Module 报错是环境中没安装相应的库,通过 pip install 就可以安装完善,若需安装的库很多,则可能是没安装项目依赖库(requirements.txt)。但并非所有报错缺失的库名与需要安装的库名都相同。 如:ModuleNotFoundError: No module named 'yaml',需安装 pyyaml 库。
CUDA 与 pytorch 版本匹配报错
在运行 ComfyUI 的命令行中,若出现以下信息,则是 CUDA 与 pytorch 版本匹配警告:
D:\Python312\Lib\site-packages\torch\cuda\__init__.py:283: UserWarning:
Found GPU0 NVIDIA GeForce RTX 5060 Ti which is of cuda capability 12.0.
Minimum and Maximum cuda capability supported by this version of PyTorch is
(6.1) - (9.0)
warnings.warn(
...
可通过以下代码进一步验证:
import torch
print(torch.__version__)
print(torch.cuda.is_available())
print(torch.cuda.get_device_name(0) if torch.cuda.is_available() else "No CUDA available")
如果输出显示 false 或者错误信息,则需要重新安装对应版本。若对应版本是正确的还报错,则需要注意显卡的版本,50 系显卡仅适用于 12.8 与 12.9 版本的 CUDA(向下兼容在此无效)。