
简介面向希望在Mac本地部署Stable Diffusion的AI绘图爱好者与开发者这份轻量代码包将环境搭建中的关键步骤与配置整理为可直接查阅的HTML页面帮助用户避开从依赖安装到模型下载的常见坑点。压缩包共3个文件以HTML教程页为主体辅以inscode配置与gitignore文件整体仅5KB便于随时打开浏览器对照操作。已有104人学习/下载。内容涵盖Stable Diffusion与Midjourney的选型差异以及电脑配置、网络环境等前置准备要求随后逐步说明相关依赖工具与Web界面组件的获取方式并提供国内外下载方案、启动脚本运行流程和常见报错处理思路同时给出SD界面预览与使用注意事项使初学者也能按图索骥在Mac上顺利完成本地部署并快速上手AI绘图。整个教程以网页形式呈现结构清晰无需额外安装阅读器文字与配置示例结合的方式也适合边看边操作便于复制命令、记录进度和对照排查问题。对于想深入AI绘图的用户这份资料可作为本地环境搭建的随身参考。1. 需求分析与部署思路1.1 为什么要在 Mac 上部署 Stable Diffusion很多人觉得玩 Stable Diffusion 必须要有一张 NVIDIA 显卡这个印象其实只对了一半。Stable Diffusion 本身是 PyTorch 框架下的开源模型底层推理依赖的是 CUDA 生态但苹果的 Mac 走的完全是另一条路——Metal Performance ShadersMPS。M 系列芯片的 Mac 凭借统一内存架构在跑 SD 时表现相当不错尤其是大内存版本比如 32GB、64GB 的 Mac Studio甚至能出 1024x1024 这种高分辨率图而不爆显存。我做这次部署用的是 MacBook Pro M1 Pro 16GB 版本说实话速度肯定比不上同价位的 RTX 显卡机器但它强在安静、功耗低、移动方便。对于想低成本入门 SD、或者手上只有 Mac 又想体验 AI 绘画的人来说这套流程完全行得通。我先把这事的结论说清楚Mac 上跑 Stable Diffusion 最靠谱的方案是使用 AUTOMATIC1111 的 stable-diffusion-webui配合官方提供的 MPS 支持。它不需要装什么额外的显卡驱动只要 Python 环境和 Xcode Command Line Tools 装好基本就能跑起来。部署的本质就三件事把 WebUI 源码拉到本地、装好依赖、下载模型权重。1.2 硬件与软件的基本要求先对照一下自己手头的机器别装到一半发现跑不动那才叫折腾。项目最低要求建议配置芯片M1 及以上M1 Pro / M2 / M3 系列内存8GB16GB 以上硬盘空间约 20GB建议 50GB 以上macOS 版本12.314.xSonomaPython3.103.10.6 或 3.11.xIntel 芯片的老 Mac 不是不能跑但速度会感人而且 WebUI 新版对 MPS 的优化基本集中在 Apple Silicon 上所以如果你还在用 Intel Mac建议先死心除非只是体验一把。硬盘方面要注意默认模型库那点空间看起来不大但多下载几个模型就上几十 GB 了放系统盘容易挤爆有条件就外接 SSD 装模型。软件层面不需要单独装 CUDA这是 Mac 部署跟 Windows/Linux 最大的区别。你需要的是 Python 3.10 和 Git这两个是硬门槛。另外强烈建议先装好 Xcode Command Line Tools很多底层编译依赖它后面装 torch 扩展的时候会省掉一堆报错。2. 部署前的环境准备2.1 Python 环境与 Homebrew 安装Mac 自带的 Python 版本比较旧而且默认是只读系统目录直接装包容易踩权限坑。我建议先用 Homebrew 装一个用户态的 Python这样后续所有依赖都可以干净的安装在用户目录里。Homebrew 没装的话先装它这是 macOS 上最常用的包管理器/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)装完 Homebrew 后更新仓库并安装 Pythonbrew update brew install python3.10安装之后确认一下 Python 路径which python3.10 python3.10 --version这里有个细节值得说清楚为什么优先选 Python 3.10 而不是最新的 3.12因为 Stable Diffusion WebUI 依赖的一堆第三方库比如 torch、transformers、xformers对最新 Python 的适配经常滞后3.10 属于生态适配最成熟的版本踩坑最少。等以后各库都跟上去了再升也不迟。装完 Python 之后建议顺手确认一下 pip 命令指向的是不是同一个 Pythonpython3.10 -m pip --version这个习惯很重要。我见过太多人遇到pip 装的包找不到的问题最后发现是 pip 指向了系统的 Python 2。养成用python3.10 -m pip这种完整写法能绕开大部分环境错乱。2.2 Git 与 Xcode Command Line ToolsWebUI 源码是从 GitHub 拉取的Git 是绕不开的第一步。macOS 上只要你尝试运行git命令系统就会弹窗引导你安装 Command Line Tools——直接同意就行。装完再验证git --version xcode-select --versionXcode Command Line Tools 不只是给 Git 提供凭证服务更关键的是 WebUI 里很多 Python 包在 Mac 上安装时需要本地编译编译器工具链就依赖这个。别跳过去装这一步后面提示clang: command not found的时候再回来补就很尴尬。如果你的网络访问 GitHub 比较慢可以考虑配置好 Git 的代理比如公司网络有代理的情况或者直接用国内镜像站拉取。但这一步根据个人网络情况灵活处理就行如果克隆速度正常就不用额外折腾。3. 核心部署流程与代码实现3.1 拉取 WebUI 源码仓库基础环境准备完毕接下来进入正式部署。我习惯把项目放在专门的工作目录里比如~/sdmkdir -p ~/sd cd ~/sd git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git cd stable-diffusion-webui这一步拉到的代码是最新的开发版。很多教程会让你拉 release 分支或者写死某个版本的 tag但我实测下来直接拉主分支一般问题不大官方对主分支的维护很勤快反而某些老版本可能跟新版 macOS 水土不服。克隆完成后目录里有一个叫webui.sh的启动脚本这个脚本是后面所有操作的总入口。先看一下目录结构确认关键文件都在ls -la你会看到webui.sh、requirements.txt、modules等核心文件。这里要注意一个点先看脚本不要急着执行。用编辑器打开webui.sh找到关于TORCH_COMMAND的配置片段。默认情况下脚本会自动判断系统架构并安装对应版本的 PyTorch但 Mac 上偶尔会把 CPU 版本的 torch 装上导致后续跑模型慢到怀疑人生。为了确保用的是 MPS 加速版本可以手动指定export TORCH_COMMANDpip install torch torchvision torchaudio这是全局安装命令。如果你想用虚拟环境隔离避免和系统其他 Python 项目互相干扰可以加上--use-pep517之类参数不过一般直接装也行。3.2 创建虚拟环境并安装依赖进入 WebUI 目录之后我的习惯是创建一个独立的 Python 虚拟环境而不是直接往全局环境堆依赖。因为 SD WebUI 的依赖列表非常庞大几十个包如果未来项目迁移或删掉也不会污染系统的 Python。cd ~/sd/stable-diffusion-webui python3.10 -m venv venv source venv/bin/activate激活虚拟环境后输入which python应该指向.../venv/bin/python这才说明环境用对了。接着安装核心依赖。注意这里不建议直接执行完整的webui.sh让他一步到位那样遇到错误排查起来很头痛。我习惯分步安装pip install --upgrade pip pip install -r requirements.txt这一步会下载大量依赖包包含 torch 这个大块头在 Mac 上约 200MB 左右耐心等待即可。如果遇到网络超时可以用国内 PyPI 镜像加速pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simplerequirements.txt 安装完成后还需要补几个 Apple Silicon 上常用的加速组件pip install pygit21.12.2pygit2是 WebUI 用来检查模型版本信息的库不装也能跑但版本检查功能会失效界面会一直显示 unknown version看着烦。3.3 项目结构里重要的配置项下面说几个 WebUI 目录里的关键文件和目录搞清楚它们对后面排查问题至关重要路径作用models/Stable-diffusion/放主模型权重核心models/Lora/放 LoRA 微调权重models/VAE/放 VAE 权重修复灰图用outputs/生成的图片输出目录webui.sh启动入口webui-user.sh用户覆盖配置自定义启动参数强烈建议最开始的模型就放在默认的models/Stable-diffusion/目录等熟悉了再改外部路径映射。WebUI 虽然支持通过--ckpt-dir参数指定模型文件夹但对新手没必要默认路径最简单可靠。还有一个文件是webui-user.sh里面有一行COMMANDLINE_ARGS这是传启动参数的地方。Mac 上我建议从这一行开始COMMANDLINE_ARGS--skip-torch-cuda-test --no-half --use-cpu all --precision full --no-half-vae这一段参数我解释一下每一个都很关键--skip-torch-cuda-test跳过 CUDA 检测。因为 Mac 没有 CUDA不跳过就直接退出。--no-half禁用半精度。Apple Silicon 上跑半精度容易出 NaN 噪点图禁用后出图质量更稳。--use-cpu all强制 CPU/MPS 运算。这是 Mac 上跑 WebUI 的默认路径虽然名字里带 CPU但实际会走 MPS 加速。--no-half-vae防止 VAE 解码出现黑图或灰图。--precision full全精度计算避免 MPS 下的精度损失问题。我刚开始在 Mac 上部署的时候就是因为没加--no-half出的图全是彩色噪点排查了半天才发现是这个原因。这些参数是 Apple Silicon 用户踩了无数坑总结出来的经验直接用就好。4. 模型权重下载与配置4.1 模型怎么选、去哪里下Stable Diffusion 的模型文件放在 Hugging Face 上常见的几个基础模型stable-diffusion-v1-5经典基础模型约 4GB通用性最好sdxl-base-1.0新版基础模型约 7GB画质更好但显存要求更高sdxl-turbo优化版 SDXL生成速度更快适合低显存设备搜索热词里出现了 “stable diffusion 模型网”说明很多人不知道去哪找模型。我常用的渠道是 Hugging Face 官网以及国内的镜像站直接在搜索框输入stable diffusion找下载量高的模型就对了。Mac 上跑 SD 1.5 模型是最稳妥的等基本流程跑通了再尝试 SDXL避免一上来就卡在资源不足的坎上。4.2 模型下载与放置技巧模型下载完成后把.safetensors文件放到models/Stable-diffusion/目录。.safetensors格式比老式的.ckpt更安全、加载更快建议优先选这种格式。因为模型文件动辄好几 GB浏览器直接下很容易断。我推荐用命令行下载支持断点续传也更稳定curl -L -o models/Stable-diffusion/v1-5-pruned.safetensors \ https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned.safetensors模型放好后记得也配一下 WebUI 的模型路径参数。实际上默认路径就是上面的目录但为了可维护性也可以在webui-user.sh的COMMANDLINE_ARGS里显式指定COMMANDLINE_ARGS... --ckpt-dir /Users/xxx/sd/stable-diffusion-webui/models/Stable-diffusion5. 首次启动与出图验证5.1 启动 WebUI现在正式启动。回到项目目录激活虚拟环境cd ~/sd/stable-diffusion-webui source venv/bin/activate ./webui.sh第一次启动会比较慢因为 WebUI 会对模型做 hash 计算和元数据解析期间控制台会滚动大量日志。看到Running on local URL: http://127.0.0.1:7860就说明启动成功。然后打开浏览器访问http://127.0.0.1:7860就能看到 WebUI 的漂亮界面了。5.2 首次出图与参数验证第一次出图建议直接使用默认参数只修改提示词。比如输入a cute corgi dog, sitting on the grass, morning sunlight, high detail, 4k然后点击 Generate。M1 Pro 16GB 跑 512x512 的图大概 20 到 40 秒一张比你想象中慢但能接受。跑完图看一下生成的质量如果颜色正常、轮廓清晰说明部署成功。如果出图是灰色或者全是噪点回到 3.3 节检查启动参数如果模型加载报错检查模型文件是否放在正确路径。5.3 界面功能快速上手WebUI 界面里的核心参数Prompt正向提示词描述你想画的东西Negative prompt反向提示词告诉模型不想要什么Sampling method采样器推荐 Euler a 或 DPM 2M KarrasSampling steps采样步数20 到 30 比较均衡Width/Height画面宽高Mac 上建议先 512x512 跑通这里有个 Mac 特有的建议内存 16GB 以下时别一上来就调 1024x1024一是生成时间暴增二是 MPS 内存不足直接崩。先从 512 开始跑通了再慢慢往上调。6. 常见问题排查与优化实测6.1 Mac 部署高频报错与解法我把实际踩过的坑整理成了一张速查表基本覆盖了新手阶段的绝大部分问题报错信息原因解决方案Torch is not able to use GPUtorch 装成了 CPU 版用TORCH_COMMAND指定重新安装 torchRuntimeError: MPS out of memory内存不足降低分辨率/减小 batch size关掉其他内存大程序AttributeError: module torch has no attribute mpstorch 版本过旧pip install --upgrade torchImportError: cannot import name clean from diffusersdiffusers 版本冲突pip install --upgrade diffusers transformerssubprocess.CalledProcessError某组件编译失败确认已安装 Xcode Command Line ToolsNo module named pygit2缺版本检查库pip install pygit2其中MPS out of memory是 Mac 用户最容易踩且最烦的。我的解决办法是往下调分辨率、关闭网页后台多余标签页、重启 webui 进程。如果还不行就再加一个启动参数--medvram这个参数会把部分计算挪到 CPU 上用一点速度换稳定性对小内存 Mac 很有效。6.2 参数优化与加速心得接下来是 Mac 上提升出图速度的几条实测经验。第一采样步数不需要太高。很多人迷信 50 步、60 步其实 20 到 30 步足矣步数提高对画质提升非常有限但耗时几乎翻倍。在 Mac 上这叫“花钱买罪受”。第二用xformers优化注意力计算。不过要注意新版 WebUI 对 xformers 在 MPS 上的支持还有点看运气。我实测 M1 Pro 上装 xformers 有时候反而会报错所以如果默认配置能跑就别乱加。第三Small memory 用户的终极方案是用--medvram配合--precision full --no-half牺牲速度换稳定性出图不会崩。第四如果一次生成多张图把 batch count 调小、batch size 保持 1。很多人一次性生成 4 张、8 张小内存机器直接爆。老老实实一次一张最多两张。6.3 使用 LoRA 与额外模型文件部署只是第一步真正有意思的是玩 LoRA 和风格模型。你下载的 LoRA 文件也是.safetensors格式放在models/Lora/目录然后在 WebUI 界面的 Prompt 区域下面找到额外的模型选择按钮点选后会自动在提示词里追加类似lora:模型名:0.8的文本。这个0.8就是权重数值越大影响越强。Mac 上跑 LoRA 我没有遇到过额外的瓶颈因为 LoRA 的参数量很小对显存的影响可以忽略。真正的瓶颈还是基础模型的采样过程。6.4 外接 SSD 管理与多版本共存最后说一个偏进阶但很实际的技巧——管理多个模型。我的models/Stable-diffusion/目录里有六七个模型为了不把硬盘塞满之前提到过可以用--ckpt-dir参数指向外接 SSDCOMMANDLINE_ARGS... --ckpt-dir /Volumes/SD-Models/stable-diffusion把模型放外接 SSD 上WebUI 需要启动时扫描模型目录USB 3.0 以上接口的速度完全够用不会拖慢加载速度。搭配一个models/Stable-diffusion的软链接做兼容也不影响以后切换模型。根据我个人实际操作的经验Mac 上部署 Stable Diffusion 最值得记住的一条原则是别照搬 Windows 教程也别盲目贪新。版本选老不选新模型选通用不选复杂参数先稳定再追求速度。整个部署流程走一遍之后你基本就摸清了这套工具链的脾性之后再尝试更复杂的 ControlNet、风格化微调都会顺利很多。本文还有配套的精品资源点击获取