前言
本文主要讲如何部署Stable Diffusion,并通过 Stable Diffusion WebUI 网页可视化界面运行SD。虽然mac系统也可以通过Diffusion Bee、MochiDiffusion等可视化程序运行SD,甚至M系列芯片也有官方的Core ML Stable Diffusion优化程序,但实测后发现,这些可视化程序暂时没有WebUI的功能全。
建议使用M系列芯片的Mac设备,内存16GB以上。
安装homebrew
打开mac的“终端”
运行以下代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装homebrew,方便后续管理Stable Diffusion所需环境。附上homebrew官网 https://brew.sh
安装过程如出现443错误,可见文章底部疑难杂症第1点
安装Stable Diffusion所需环境
在终端中,运行以下代码
brew install cmake protobuf rust python@3.10 git wget
如要手动安装python,则切记python版本要安装3.10.x的。低于3.8的版本不太稳定,高于3.10的版本当前无法兼容。
安装过程如出现报错“Error: Command failed with exit 128: git”,可见文章底部疑难杂症第2点
下载Stable Diffusion WebUI程序
方式1:直接git获取(推荐)
运行以下代码
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui {目录}
{目录} 记得可以改为你想要的文件夹路径。可以直接输入,也可以直接把文件夹拖到“终端”里。
方式2:手动下载
因为文件相对比较大,网速不好的情况,可以使用手动下载的方式
前往官网Github链接:https://github.com/AUTOMATIC1111/stable-diffusion-webui
直接下载zip包到本地,并解压到想要的目录中。
运行stable-diffusion-webui
在终端运行以下代码
cd {stable-diffusion-webui的目录}
可以先输入cd+空格,然后将第三步的“stable-diffusion-webui”所在的文件夹拖拽到终端里
运行成功的话,会看到新一行的命令,带有目录的文件夹名
如果网络不稳定,可以再运行第5步之前,手动下载Stable Diffusion 1.5的基础模型(文件约4GB),并放到【stable-diffusion-webui/models/Stable-diffusion/】文件夹里,这样在运行第5步时,可以节约模型的下载时间。
运行webui
整个安装环境,最容易出错的环节来了。
在第四步的基础上,运行代码./webui.sh
首次运行非常慢,会自动安装运行Stable Diffusion所需的环境等。这个环节考验网络质量,一切顺利的话大约需要20分钟。
当看到以下内容时,则代表安装成功,浏览器打开 http://127.0.0.1:7860/ 就可以看到Stable Diffusion WebUI的页面了,恭喜恭喜。
如出现卡顿报错,可见文章底部疑难杂症第3点
后续每次运行Stable Diffusion,都需要重复第4步和第5步的内容,并保持“终端”是开启状态。最后打开 http://127.0.0.1:7860/ 即可。
如要偷懒,可见文章底部疑难杂症第4点,手动创建一键启动的快捷方式。
疑难杂症
安装homebrew报错443
一般是网络问题,如用魔法工具还无法解决,则建议直接安装镜像源的方式,运行以下代码
/bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
安装Stable Diffusion环境报错
如出现“Error: Command failed with exit 128: git”的错误,可运行以下代码
git config --global --add safe.directory /opt/homebrew/Library/Taps/homebrew/homebrew-core
git config --global --add safe.directory /opt/homebrew/Library/Taps/homebrew/homebrew-cask
如手动改为brew的安装路径,则需要运行brew -v
查看当前领,并替换以上代码对应的路径
运行./webui.sh
过程卡顿报错
一般也是网络问题,可以通过修改“launch.py”文件里对应Github的链接,通过国内镜像源来解决网络问题。步骤如下:
- 打开第3步下载的stable-diffusion-webui文件夹,在根目录找到“launch.py”,右键用“文本编辑”打开。
- 搜索“def prepare_environment”找到如图所示的github链接,在原链接前面添加
https://ghproxy.com/
,共8个链接请留意,别替换错或替换少链接。
制作一键启动快捷方式
通过此方式,可以一键启动Stable Diffusion,不用每次启动都手动在终端运行第4步和第5步的内容,具体步骤如下:
- 打开mac自带的“脚本编辑器”,并“新建文稿”。
复制如下命令,把cd命令后面的文件路径,换成第4步中自己安装的
**{stable-diffusion-webui的目录}**
,记得cd后有空格。如下为我的文件路径示意效果tell application "Terminal"
do script "cd /Users/mufly/Documents/StableDiffusion
./webui.sh"
end tell
选择“文件-导出”,导出的格式选择“应用程序”,签名改为不使用。并给它起一个高级点的名字吧。
- 搞定了,以后要用Stable Diffusion,直接运行这个启动文件就行。