1.问题描述

  • 打开stable diffusion webui时,提示缺少clip或clip安装不上

2.解决方案

  • 原因:stable diffusion webui环境中的clip其实是open_clip,不能用pip install clip安装
  • 解决方法是直接到github下载 open_clip 代码到本地,并进行本地安装
  • 因为stable diffusion会在其根目录创建虚拟python环境venv,因此安装方法与github有所不同。可参考以下方法:
    • 从github将open_clip的源文件下载到本地,这一步可以使用git clone也可以直接下载zip文件。下载后,解压(如果用git clone就不需要)到d:\\stable-diffusion-webui\venv\Scripts目录下(stable-diffusion-webui是你stable diffusion webui的根目录,这个地址只是我电脑中的,请根据自己放的位置调整)。
    • 打开cmd,cd到d:\\stable-diffusion-webui\venv\Scripts\open_clip-main下。
    • 使用d:\\stable-diffusion-webui\venv\Scripts\python.exe setup.py build install安装open_clip。
  • 安装完毕后,再打开stable diffusion根目录的webui-user.bat会发现不再报错。如果遇到其他github上的模块无法安装也可以用同样的方法。
  • gfpgan安装失败的解决方法:使用stable diffusion webui时,安装gfpgan失败的解决方案(windows下的操作)
  • 注意:
    • 安装open_clip等依赖包时,一定要将包安装到虚拟环境中。
    • 运行stable diffusion webui的时候,一定要确保用的是虚拟环境。
    • 虚拟环境就装在自己的stable-diffusion-webui根目录下的venv文件夹下

3.从评论区总结的一些容易出错的地方和解决方法

3.1 下载包时,网络超时,导致错误

  • 错误信息形式通常如下:
Downloading https://files.pythonhosted.org/packages/9a/ff/0db148510417e6aa9797d82c2bda271297035f69c30f5e188398ee16c131/timm-0.8.15.dev0-py3-none-any.whl#sha256=4e69077241bac6fc04e9b5f28b5290f153ebbd6f164a01884dabffafe505c2f1error: The read operation timed out
  • 这种情况是安装一个python包时,要安装其他python依赖包,但因为网络原因连不上,因为下载这些python包的网站是国外的。解决方法是为python pip配置镜像源(具体方法可以百度,已经有很多现成的方法,只要照做就好),这样以后用pip安装东西就可以从国内的镜像网站下载。

3.2 成功安装open_clip之后,打开webui-user.bat他还是要installing clip依然报错

  • 先使用命令d:\\stable-diffusion-webui\venv\Scripts\pip install clip,然后再打开webui-usr.bat。如果无法解决问题,再往下看。
  • stable diffusion webui是要使用虚拟环境(venv)运行的。要确保用的是venv运行。具体做法是点击webui-user.bat后,命令行第一行是不是类似这样的:“venv “G:\AI作画\stable-diffusion-webui\venv\Scripts\Python.exe””。如果是的话,说明确实是在虚拟环境运行。
  • 另外也要确保安装open_clip等依赖包时,一定要将包安装到虚拟环境中
    • 可以使用命令d:\\stable-diffusion-webui\venv\Scripts\pip.exe list查看包列表,看看你虚拟环境是否安装open_clip成功,里面能找到open-clip-torch或open-clip的字样就是安装成功了。
  • 以上都做好后,还是提示installing clip,可以使用d:\\stable-diffusion-webui\venv\Scripts\python.exe d:\\stable-diffusion-webui\launch.py看是否能运行。
    • 当然,也可以先试用d:\\stable-diffusion-webui\venv\Scripts\activate命令激活虚拟环境,如果命令行每行开头有(venv)的字样说明激活成功。激活成功后,直接使用python d:\\stable-diffusion-webui\launch.py即可运行。

3.3 windows下安装sentencepiece包出错

  • 显示以下信息:
Best match: sentencepiece 0.1.97Processing sentencepiece-0.1.97.tar.gzWriting C:\Users\a1885\AppData\Local\Temp\easy_install-8tm96bd5\sentencepiece-0.1.97\setup.cfgRunning sentencepiece-0.1.97\setup.py -q bdist_egg --dist-dir C:\Users\a1885\AppData\Local\Temp\easy_install-8tm96bd5\sentencepiece-0.1.97\egg-dist-tmp-5jh8trucwarning: no files found matching 'VERSION.*'cl: 命令行 warning D9025 :正在重写“/MD”(用“/MT”)sentencepiece_wrap.cxxsrc/sentencepiece/sentencepiece_wrap.cxx(2822): fatal error C1083: 无法打开包括文件: “sentencepiece_processor.h”: No such file or directoryerror: Setup script exited with error: command 'D:\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\bin\\HostX86\\x64\\cl.exe' failed with exit code 2
  • 原因是安装sentencepiece包的时候,需要使用sentencepiece_processor.h文件来编译c++库,但你的系统里找不到这个文件。这种情况下,你可以到github上(https://github.com/google/sentencepiece/releases)下载已经编译好的Python模块,就是里面后缀名为whl的文件。虚拟环境的python版本是3.10,使用64位的windows系统,intel的芯片,那你要下载sentencepiece-0.1.97-cp310-cp310-win_amd64.whl。下载后安装到虚拟环境可以用d:\\stable-diffusion-webui\venv\Scripts\python.exe -m pip install whl文件的绝对路径安装whl包。前面虚拟环境的路径要根据你的情况调整

PS:如果还有其他问题,欢迎到评论区讨论。