Stable Diffusion WebUI本地部署中遇到的一些错误

进来AI绘画大火,我便尝试在本地部署一下,电脑是M1的MacBook,不过windows应该也差不多。
参考官网的方法一步步安装,虽然最后成功了,但中途还是有不少问题。


首先安装homebrew,由于我早就已经安装好了,自然也没遇到什么问题。初次安装的朋友若按照homebrew官网的方法安装,很大概率会遇到无法访问的问题,因此这里建议直接使用/bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"脚本,该脚本出自知乎的一位大神,他在文中详细介绍了更换源等一些列问题。


安装好homebrew后,我们便可以使用它来安装stable-diffusion-webui所需要的环境,执行以下脚本:

brew install cmake protobuf rust python@3.10 git wget

如果电脑没有git的话,也需要安装git:

brew install git

这里主要是安装python3。如果你的电脑有python环境,并且版本不低于3.10,可以不执行此脚本。


接下来需要克隆存储库:

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

克隆好以后,我们本地就会多出一个stable-diffusion-webui文件夹,这个文件夹下的models/Stable-diffusion/文件中,我们要存放一些模型。


克隆好以后,我们就需要下载模型,来到Hugging face就可以下载一些模型,推荐使用v1.4的,这个版本的模型训练的会多一些,然后将下载好的文件放到上一步提到的目录中。


然后我们需要进入到webUI目录下,执行sh脚本:

cd stable-diffusion-webui
./webui.sh

在此之前,我都没有遇到什么问题,但是当我在执行webui.sh脚本的时候,由于这个脚本也是需要安装一些东西的,因此很多问题就发生了。
首先就是ERROR: Could not find a version that satisfies the requirement torch==1.12.1 (from versions: none)
ERROR: No matching distribution found for torch==1.12.1
在这里插入图片描述
error: metadata-generation-failed
× Encountered error while generating package metadata.
在这里插入图片描述
我首先尝试自己安装torch,以及他所需要的依赖文件,都是通过homebrew,但是安装好以后仍然有这个问题。然后我就想到可能是我的python有问题,因为我并不是使用官方提供的脚本安装的python,而是自己使用homebrew安装的。我便将自己安装的python卸载了,然后看了一下电脑是不是还有其他的python,结果发现还真有一个,在usr/bin目录下,这个应该是电脑自带的,版本也符合要求,我便没有自己重新下,就用这个,再次执行sh脚本的时候那个错误就没有再出现。

这里提醒大家如果后来执行sh脚本出现莫名其妙的错误(上图),可以尝试把自己安装的python卸载掉,用系统自带的就可以,版本也是够用的。

然后继续安装就出现了各种由于访问github引起的问题:安装gfpgan失败、安装clip失败,这类问题你可以在错误提示里看到无法访问github这样的字样:

致命错误:无法访问 'git+https://github.com/openai/CLIP.git/':The requested URL returned
致命错误:无法访问 'https://github.com/TencentARC/GFPGAN.git/':HTTP/2 stream 1 was not 
 closed cleanly before end of the underlying stream

解决方法有很多,你可以换源,也可以使用代理。首先根据错误提示找到具体的文件,定位到launch.py这个文件,在看一下具体的url,在前边加上ghproxy代理即可解决问题。
调整好以后,再运行./webui.sh命令就没什么问题了,会一路运行到底。


如果是正常运行,最后他会给你返回一个地址http://127.0.0.1:7860/,复制这个地址浏览器打开就可以使用AI绘图了。

你可能感兴趣的:(AI,homebrew,stable,diffusion,python)