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

相关推荐
CIO_Alliance32 分钟前
AI微调系列(2)| QLoRA:一张卡微调700亿参数,显存是怎么省下来的
大数据·人工智能·深度学习·ai·企业ai转型·企业cio联盟
远航计算机1 小时前
网站被 AI 收录要多久?从被抓取到被引用的完整时间表
大数据·人工智能·aigc
九皇叔叔1 小时前
从本地事务到分布式事务
java·分布式·分布式事务·cap·base
来了就不要走1 小时前
亿数平台怎么样:亿象生态与数实融合路径观察
大数据·人工智能·区块链
Q26433650232 小时前
【有源码】基于文本挖掘的消费者金融投诉主题发现与风险预警研究,基于Python的CFPB消费者投诉数据可视化分析系统
大数据·hadoop·机器学习·数据挖掘·spark·毕业设计·课程设计
南京兴帝文化传媒有限公司2 小时前
本地生活服务GEO优化案例:宁国瑜伽馆地图关键词布局与AI问答优化路径
大数据·人工智能·生活·geo 优化·ai搜索获客
数字新视界2 小时前
国产化动环技术提升数据中心监控效率与安全性
大数据·人工智能·数据中心·微模块机房·模块化机房
isfox2 小时前
MapReduce OutputFormat 解析:结果怎么从键值对变成文件
大数据
林澈在路上2 小时前
能做DJ的AI写歌软件推荐:MELO音乐对比Suno v6
大数据·人工智能·github·音视频·音频
小羊没烦恼!3 小时前
Memory 记忆设计讨论:Agent Memory 的安全边界:权限、删除、版本与回执
java·大数据·word·powerpoint·.net