MAC(M)下自动安装和启动stable-diffusion-webui

#!/bin/bash
if [ "$(uname -m)" != "arm64" ]; then
    echo "当前脚本只适用于M芯片的Mac"
    exit 1
fi
echo "========================================"
ZPROFILE=~/.zprofile
[[ -f $ZPROFILE ]] && source $ZPROFILE
if ! command -v brew &> /dev/null; then
    echo "🚀 未发现 Homebrew, 开始全自动安装..."
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    if ! grep -q '/opt/homebrew/bin/brew shellenv' "$ZPROFILE"; then
        echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> $ZPROFILE
        source $ZPROFILE
    fi
fi
echo "Homebrew 版本:$(brew --version)"
echo "========================================"
echo "🔍 检查是否已安装 WebUI..."
WEBUI_DIR=~/Desktop/stable-diffusion-webui
if [ -d "$WEBUI_DIR" ]; then
    cd "$WEBUI_DIR" || exit
    source venv/bin/activate
    echo "✅ 检测到已安装,直接启动 WebUI..."
else
    echo "🚀 未发现 WebUI, 开始全自动安装..."
    cd ~/Desktop || exit
    echo "📥 正在克隆 Stable Diffusion WebUI 仓库..."
    git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
    cd stable-diffusion-webui || exit
    echo "🛠️ 写入启动配置..."
    cat << EOF > webui-user.sh
export COMMANDLINE_ARGS="--use-mps --theme dark --xformers"
EOF
    if ! brew list python@3.10 &> /dev/null; then
        echo "🔧 安装 Python 3.10..."
        brew install python@3.10
        if [ ! -d "/usr/local/bin" ]; then
            sudo mkdir -p /usr/local/bin
        fi
        sudo chmod u+rwx /usr/local/bin
        sudo ln -sf /opt/homebrew/opt/python@3.10/bin/pip3.10 /usr/local/bin/pip3
        sudo ln -sf /opt/homebrew/opt/python@3.10/bin/python3.10 /usr/local/bin/python3
    fi
    echo "🔧 创建 Python 虚拟环境..."
    python3 -m venv venv
    source venv/bin/activate
    echo "📦 升级 pip..."
    pip install --upgrade pip
    echo "📦 安装 Python 依赖..."
    pip install -r requirements_versions.txt
    echo "⚡ 安装MPS加速版Torch..."
    pip install torch torchvision torchaudio
    echo "🔧 安装中文插件..."
    git submodule add -f https://github.com/dtlnor/stable-diffusion-webui-localization-zh_CN.git extensions/stable-diffusion-webui-localization-zh_CN
    echo "🔧 安装双语插件..."
    git submodule add -f https://github.com/journey-ad/sd-webui-bilingual-localization extensions/sd-webui-bilingual-localization
    echo "🚀 安装完成,正在启动 WebUI..."
fi
echo "========================================"
python3 launch.py --skip-torch-cuda-test

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容