SD:在一个 Ubuntu 系统安装 stable diffusion ComfyUI

目录

  • [1. 环境准备](#1. 环境准备)
  • [2. git仓库](#2. git仓库)
  • [3. 配置 WebUI 的模型路径](#3. 配置 WebUI 的模型路径)
  • 4.启动软件
  • [5. 插件安装](#5. 插件安装)
    • [5.1 管理插件的插件 ComfyUI-Manager](#5.1 管理插件的插件 ComfyUI-Manager)
    • [5.2 安装其他插件](#5.2 安装其他插件)
      • [5.2.1 安装举例](#5.2.1 安装举例)
  • [6. 关于位置](#6. 关于位置)
    • [6.1 模型位置](#6.1 模型位置)
    • [6.2 工作流保存位置](#6.2 工作流保存位置)
    • [6.3 生成结果的位置](#6.3 生成结果的位置)
  • [7. 简单使用](#7. 简单使用)
    • [7.1 文生图为例](#7.1 文生图为例)
    • [7.2 图生视频](#7.2 图生视频)
  • [附录1 - 关于模型下载](#附录1 - 关于模型下载)

1. 环境准备

  • 个人系统
    查看系统信息(方便向AI提问)
powershell 复制代码
cat /etc/os-release
  • 新建 python 环境
    • 创建新环境
    • 激活环境
powershell 复制代码
python3 -m venv ~/venv_sd_comfy
source ~/venv_sd_comfy/bin/activate
  • 注:关于使用 系统自带 python 还是 conda 来安装环境
    之前我安装WebUI 已经占了一个 Conda 环境,ComfyUI 强烈建议「另起炉灶」------用系统自带的 Python 3.12 单独建 venv,而不是再开一个 Conda 环境。原因有三:
  1. 隔离最干净
    WebUI 的 Conda 环境里可能装了一堆它自己改动的包(xformers、gradio 老版本等),ComfyUI 并不需要,混用反而容易版本冲突。系统 venv 与 Conda 完全隔离,升级/回滚互不影响。
  2. 省内存 + 省磁盘
    Conda 每新建一个环境都会再复制一份基础库,动辄 2-3 GB;Python 自带 venv 只做符号链接,几十 MB 搞定。推理时两个进程各自驻留显存即可,不会因为「同门」就节省。
  3. 官方仓库就是按「系统 Python + venv」测试的
    ComfyUI 的 requirements.txt 里很多 wheel 只有 cp312 版本,Conda 的 python 3.10/3.11 反而要多编译,速度慢且容易踩坑。
    一句话结论
    「ComfyUI 用系统 Python 建 venv」→ 最省心、最省资源,后期维护也简单。
  • python包
powershell 复制代码
pip install --upgrade pip
pip install torch torchvision torchaudio \
            --extra-index-url https://download.pytorch.org/whl/cu121

2. git仓库

我将其安装在本地的 ~/programs 下面(这个路径自选)

powershell 复制代码
cd ~/programs
git clone https://github.com/comfyanonymous/ComfyUI.git
  • 如果提示找不到这个url
powershell 复制代码
git clone --depth 1 \
  --config http.postBuffer=524288000 \
  https://github.com/comfyanonymous/ComfyUI.git
  • 安装依赖的python包
powershell 复制代码
cd ComfyUI
pip install -r requirements.txt

3. 配置 WebUI 的模型路径

  • 创建文件 extra_model_paths.yaml
powershell 复制代码
cp extra_model_paths.yaml.example extra_model_paths.yaml
  • 修改文件内容如下:

    a111:
    base_path: /home/xxx/programs/stable-diffusion-webui/

    复制代码
    checkpoints: models/Stable-diffusion
    vae: models/VAE
    loras: |
           models/Lora
           models/LyCORIS
    clip_vision: models/clip_vision
    gligen: models/GLIGEN
    controlnet: models/ControlNet
    controlnet_preprocessors: models/ControlNet
    ipadapter: models/IpAdapter
    instantid: models/InstantID
    upscale_models: models/ESRGAN
    embeddings: embeddings
    hypernetworks: models/hypernetworks

注:

base_path 必须是绝对路径,~ 不会展开。

缩进只能空格,YAML 对 Tab 零容忍。

如果想再加自己独立目录,继续往下加同级字段即可,ComfyUI 会合并读取。

4.启动软件

  • 新建启动脚本 0_launch.sh(在 ComfyUI 根目录下),内容如下:
powershell 复制代码
source ~/venv_sd_comfy/bin/activate
exec python main.py "$@"
  • 添加可执行权限
powershell 复制代码
chmod +x 0_launch.sh
  • 启动

    • 普通启动
      ./0_launch.sh
    • 低显存启动
      ./0_launch.sh --lowvram --fp8_e4m3fn-unet --fp8_e5m2-text-enc
  • 进入前端

    在浏览器打开 http://127.0.0.1:8188 即可

5. 插件安装

先退出后台进程(ctrl+c)

位置:ComfyUI/custom_nodes/ 文件夹下

cd 到该位置下进行操作 !!!

5.1 管理插件的插件 ComfyUI-Manager

powershell 复制代码
git clone https://github.com/ltdrdata/ComfyUI-Manager.git

# 先激活你之前建的 venv
source ~/venv_sd_comfy/bin/activate
# 装它自己的依赖
python -m pip install -r ComfyUI-Manager/requirements.txt

重启 ComfyUI 后可以看到:

5.2 安装其他插件

5.2.1 安装举例

  • 在上一个窗口中,选择 Custom Nodes Manager 即可进入插件列表,通过搜索、install 即可导入。
  • 下载完需要重启

6. 关于位置

6.1 模型位置

模型类型 放到(ComfyUI 根目录) 若共用 WebUI 则放到
主模型 ckpt/safetensors models/checkpoints/ models/Stable-diffusion/
LoRA models/loras/ models/Lora/
VAE models/vae/ models/VAE/
ControlNet models/controlnet/ models/ControlNet/
CLIP Vision models/clip_vision/ models/clip_vision/
Textual Inversion models/embeddings/ embeddings/

6.2 工作流保存位置

ComfyUI/user/default/workflows

6.3 生成结果的位置

ComfyUI/output/

7. 简单使用

7.1 文生图为例

  • step1: 在模版中找到第一个文生图工作流
  • step2: 修改相关参数
  • step3: 运行
  • step4: 可以进行 重命名、保存这个工作流 等操作

7.2 图生视频

再试一下图生视频工作流。这里由于显存限制,将 wan2.2_i2v_low_noise_14B_fp8_scaled.safetensors 换成:

wan2.1_t2v_1.3B_fp16.safetensors

  • 结果
    这里仅简单尝试,图片较小 640×640

附录1 - 关于模型下载

相关推荐
txzz88882 分钟前
CentOS-Stream-10 搭建FTP服务器之系统用户访问
linux·运维·服务器·centos·ftp服务器·ftp 系统用户访问
ℳ₯㎕ddzོꦿ࿐3 分钟前
零基础教程:在 Linux 上通过 Docker 快速部署 Dify
linux·运维·docker·dify
学海_无涯_苦作舟5 分钟前
RabbitMQ Java Client源码解析——ConnectionFactory和Connection
linux·运维·服务器
是阿威啊6 分钟前
【第三站】本地虚拟机部署hive集群
linux·数据仓库·hive·hadoop·分布式
弓.长.9 分钟前
主流AI绘画工具技术对比:Stable Diffusion 3与Midjourney V6的架构差异解析
ai作画·stable diffusion·midjourney
和光同尘202317 分钟前
一文讲透CentOS下安装部署使用MYSQL
linux·运维·数据库·数据仓库·mysql·centos·database
0.0雨18 分钟前
设置集群的SSH免密登陆
linux·服务器·ssh
胖咕噜的稞达鸭19 分钟前
【Linux系统编程】解密环境变量与进程地址空间
linux·运维·chrome
峰顶听歌的鲸鱼20 分钟前
17.docker:监控及日志
linux·运维·docker·容器·云计算
一颗青果23 分钟前
Linux下的线程
linux·运维·服务器