提示

本文主要讲解在 MacOS 上安装 Stable Diffusion。@ermo

# 在 MacOS 上安装 Stable Diffusion

在准备环境过程中间重试了好多种方法,先说成功的方法,最后会写下一些常见的报错内容。贴一个 Python 官网下载地址:https://www.python.org/downloads/macos/。

这里简述下安装步骤:

  • 安装 brew
  • 安装 Python3 并配置环境变量
  • 下载 stable-diffusion-webui 并启动
  • 开始使用 Stable Diffusion

# 前置环境

先说下题主安装成功的本地环境:

  • MacOS 系统版本:macOS Monterey 版本12.6.6
  • MacBook Pro 处理器:2.2 GHz 四核Intel Core i7
  • Python3 版本:3.10.6
  • brew 版本:Homebrew 3.5.9

# 安装 brew

brew 是 Mac 系统下的一款命令式安装包管理器,可以理解为 brew 就是一个 Mac 软件仓库,唯一不同的就是通过命令去下载、升级和卸载这些软件。brew 官网地址:https://brew.sh/

打开 Terminal 执行安装 brew 的命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

安装成功后进行验证:

brew -v

输出:

Homebrew 3.5.9

# 安装 Python3

cmake、protobuf、rust、python、git、wget 都是安装 stable-diffusion-webui 的前置条件,使用下面命令进行安装:

brew install cmake protobuf rust python@3.10 git wget

这一步会执行很久,耐心等待。

安装成功后配置别名:

alias python='/opt/homebrew/bin/python3.10'

安装成功后在 Terminal 进行验证:

python3 --version
// or
python3.10 --version

输出:

Python 3.10.6

这里你的输出可能和我的不一样,因为 MacOS 会预装一个 Python3,这时就需要通过配置环境变量来指定 Python 具体的版本。

打开 .bash_profile 文件:

vim ~/.bash_profile

在底部追加内容:

PATH="/usr/local/opt/python@3.10/Frameworks/Python.framework/Versions/3.10/bin:${PATH}"
export PATH
alias python="/usr/local/opt/python@3.10/Frameworks/Python.framework/Versions/3.10/bin/python3"

然后打开 .zshrc

vim ~/.zshrc

追加下面内容并保存:

source ~/.bash_profile

再执行版本命令进行验证,确保输出版本是 python 3.10.16。

# 下载客户端 stable-diffusion-webui

stable-difussion-webui 是 Stable Difussion 的一个桌面客户端软件,可以使用 git 命令进行克隆,也可以直接下载压缩包:

git clone git@github.com:AUTOMATIC1111/stable-diffusion-webui.git

下载好以后,需要继续下载软件启动需要的模型:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original

# 常见问题

# python3.10 which is not on PATH

具体的报错内容如下:

WARNING: The scripts pip3 and pip3.10 are installed in '/usr/local/opt/python@3.10/Frameworks/Python.framework/Versions/3.10/bin' which is not on PATH.

Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

解决方法就是将 Python3.10 添加到环境变量中,上文讲过,这里不再赘述。

# pip 报错 No module named 'pip'

可以先尝试下面命令:

python3.10 -m ensurepip
python3.10 -m pip install
python3.10 -m pip install --upgrade pip

如果还是不行,使用 GPT 提供的解决方法尝试,这个问题是 ChatGPT 给我解决的:

安装 pip 成功后可以启动 stable-diffusion-webui 客户端。

升级 pip:

升级 pip:

python3 -m pip install --upgrade pip --user
cd /stable-diffusion-webui

./webui.sh

报错,安装相关依赖:

python3 -m pip install numpy torch torchvision

# 参考

  • 升级pip:https://blog.csdn.net/yuan2019035055/article/details/127892895
  • Mac安装Stable Diffusion的操作步骤:https://www.bilibili.com/read/cv24775605
  • Python配置多版本环境变量:http://xunbibao.cn/article/131032.html
  • Python3配置环境变量:https://www.likecs.com/show-308666319.html
  • Stable Diffusion WebUI 下载 repositories 超时问题:https://www.bilibili.com/read/cv23306752
  • New instructions for running web UI on macOS: https://github.com/AUTOMATIC1111/stable-diffusion-webui/discussions/5461
  • https://www.makeuseof.com/how-to-use-stable-diffusion-mac/