DGX Spark部署ComfyUI(一键安装脚本)

视频链接:​​​​​​https://www.bilibili.com/video/BV1tfN36cEr4/?vd_source=5ba34935b7845cd15c65ef62c64ba82f

仓库链接:GitHub - LitchiCheng/DGX-Spark · GitHub

快速开始

使用uv进行python环境和依赖的安装

复制代码
#!/usr/bin/env bash
set -euo pipefail

# 在当前脚本所在目录创建 ComfyUI
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
COMFYUI_DIR="${COMFYUI_DIR:-$SCRIPT_DIR/ComfyUI}"
UV_PYTHON="$COMFYUI_DIR/.venv"
TORCH_CUDA="${TORCH_CUDA:-auto}"

# 国内镜像源
PIP_INDEX_URL="https://pypi.tuna.tsinghua.edu.cn/simple"

GREEN='\033[0;32m'; NC='\033[0m'
info() { echo -e "${GREEN}[INFO]${NC} $*"; }

detect_gpu() {
    command -v nvidia-smi &>/dev/null && nvidia-smi --query-gpu=driver_version --format=csv,noheader 2>/dev/null | grep -q . && echo "yes" || echo "no"
}

install_deps() {
    if command -v apt-get &>/dev/null; then
        sudo apt-get update -qq && sudo apt-get install -y git python3 curl wget build-essential 2>&1 | tee /tmp/comfyui.log
    elif command -v dnf &>/dev/null || command -v yum &>/dev/null; then
        local mgr="dnf" && ! command -v dnf &>/dev/null && mgr="yum"
        $mgr install -y git python3 curl wget gcc make 2>&1 | tee /tmp/comfyui.log
    fi
}

install_uv() {
    info "检查 uv..."
    if ! command -v uv &>/dev/null; then
        info "安装 uv (极速 Python 包管理器)..."
        curl -LsSf https://astral.sh/uv/install.sh | sh
        export PATH="$HOME/.local/bin:$PATH"
        # 如果仍找不到,尝试其他方式
        if ! command -v uv &>/dev/null; then
            pip install uv 2>&1 | tee /tmp/comfyui.log
        fi
    fi
    info "uv 版本:$(uv --version)"
}

clone_comfyui() {
    if [[ -d "$COMFYUI_DIR/.git" ]]; then
        info "更新 ComfyUI..."
        (cd "$COMFYUI_DIR" && git pull) 2>&1 | tee /tmp/comfyui.log
    else
        rm -rf "$COMFYUI_DIR" 2>/dev/null || true
        info "克隆 ComfyUI..."
        git clone https://github.com/comfyanonymous/ComfyUI.git "$COMFYUI_DIR" 2>&1 | tee /tmp/comfyui.log
    fi
}

create_venv() {
    if [[ -d "$UV_PYTHON" ]]; then
        info "虚拟环境已存在: $UV_PYTHON"
        return 0
    fi
    info "创建 uv 虚拟环境..."
    uv venv "$UV_PYTHON" --python python3 2>&1 | tee /tmp/comfyui.log
}

install_torch() {
    local mode="$TORCH_CUDA"

    if [[ "$mode" == "cpu" ]] || [[ "$mode" != "yes" && "$(detect_gpu)" != "yes" ]]; then
        info "安装 CPU-only PyTorch..."
        uv pip install torch torchvision torchaudio --python "$UV_PYTHON/bin/python" --index-url https://download.pytorch.org/whl/cpu 2>&1 | tee /tmp/comfyui.log
    else
        info "安装 CUDA PyTorch (cu124)..."
        uv pip install torch torchvision torchaudio --python "$UV_PYTHON/bin/python" --index-url https://download.pytorch.org/whl/cu124 2>&1 | tee /tmp/comfyui.log
    fi

    "$UV_PYTHON/bin/python" -c "import torch; print('PyTorch:', torch.__version__)" 2>&1 | tee /tmp/comfyui.log
}

install_deps_py() {
    info "安装 ComfyUI 依赖 (使用清华源)..."
    cd "$COMFYUI_DIR"
    UV_INDEX_URL="$PIP_INDEX_URL" uv pip install -r requirements.txt --python "$UV_PYTHON/bin/python" 2>&1 | tee /tmp/comfyui.log
}

create_config() {
    local config_file="$COMFYUI_DIR/user/config.ini"
    [[ -f "$config_file" ]] && return 0

    info "创建配置..."
    mkdir -p "$(dirname "$config_file")"
    cat > "$config_file" << EOF
[Paths]
user_directory=$HOME/.config/ComfyUI
models_config=extra_model_paths.yaml.example

[Server]
port=8188
listen=0.0.0.0
enable-uploads=true
EOF
}

main() {
    info "安装目录:$COMFYUI_DIR"
    info "Python 环境:$UV_PYTHON (uv 管理)"

    command -v git &>/dev/null || { echo "请先安装 git"; exit 1; }

    install_deps
    install_uv
    clone_comfyui
    create_venv
    install_torch
    install_deps_py
    create_config

    info "部署完成!"
    echo ""
    echo "启动方式:"
    echo "  cd $COMFYUI_DIR"
    echo "  uv run python main.py           # 直接用 uv 运行"
    echo " 或"
    echo "  . \$UV_PYTHON/bin/activate && python main.py   # 激活虚拟环境"
    echo ""
    echo "访问:http://localhost:8188"
}

case "${1:-}" in
    --help|-h)
        echo "用法:./setup_comfyui.sh"
        echo "CPU 模式:TORCH_CUDA=cpu ./setup_comfyui.sh"
        exit 0
        ;;
esac

main

进行一键安装

复制代码
chmod +x setup_comfyui.sh
./setup_comfyui.sh

启动 ComfyUI

复制代码
cd ~/ComfyUI
uv run python main.py

打开浏览器访问:

http://localhost:8188

相关推荐
SXkehuirongsheng22 分钟前
APP开发定制和模板开发哪个更实用?
大数据·运维·人工智能
醉颜凉1 小时前
Elasticsearch底层原理:文档更新与删除完整执行流程深度剖析
大数据·elasticsearch·jenkins
大大大大晴天2 小时前
大数据平台为什么必须走向云原生:从资源孤岛到弹性数据基础设施
大数据·云原生
小白说大模型2 小时前
AI驱动的个性化学习路径:知识图谱与知识点关联的存储与推理
大数据·人工智能·学习·mysql·机器学习·prompt·知识图谱
howdoyoudo2026063 小时前
AI审计手记 #01(数据补全版):107小时、17,600次操作——OpenAI越狱案完整攻击链量化分析
大数据·人工智能·安全·ai·语言模型
hrrrrxeeeee3 小时前
不同基础怎么报考 CAIE 认证|Level I 与 Level II 报考指南
大数据·人工智能·产品经理
Wang's Blog3 小时前
PostgreSQL笔记28: PostgreSQL ACID 特性与实现机制深度解析
大数据·笔记·postgresql
KAIWEILIUCC4 小时前
Ray:高性能、易扩展的Python分布式计算框架
分布式·llm
湖南源点调研咨询4 小时前
湖南(源点)市场调研 服务标准化建立指南与切入方式(中篇)
大数据·产品运营·用户运营·用户体验
AI_Auto5 小时前
中小企业数字化转型指南 | 拆解中小企业数字化四大转型特征
大数据·人工智能·制造