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

相关推荐
谢亮_vipxieliang4 小时前
Spring Cloud 服务治理入门:注册发现、配置中心、网关限流、熔断降级与分布式一致性方案
分布式·spring·spring cloud
Elastic 中国社区官方博客4 小时前
将你自己的密钥用于现有 Elastic Cloud 部署
大数据·数据库·elasticsearch·全文检索
红海云5 小时前
Jev:给智能系统做判断的模型
大数据·数据库·人工智能
计算机毕业编程指导师5 小时前
计算机毕设选题推荐:基于Hadoop与Spark的Steam游戏数据分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·steam游戏
计算机毕业编程指导师5 小时前
【计算机毕设选题推荐】基于Hadoop+Spark的白鹿抖音评论大数据分析与可视化系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·python·计算机·spark·毕业设计·抖音评论
geovindu6 小时前
sql: JSON and XML Data Handling in SQL using sql server 2025
大数据·数据库·sqlserver·数据库开发·数据库架构
samLi06207 小时前
【数据集】A股上市公司beta贝塔系数数据(2010-2024年)
大数据
xianghongtao01168 小时前
麦肯锡2026技术趋势03_科学发现与工程AI_研究解读
大数据·人工智能
成长之路51410 小时前
【数据集】中国分行业进出口数据(2019-2026年)
大数据