【A卡,Windows】stable diffusion webui下载安装避坑指南
观前提醒
本文内容都是本人亲身经历的,一个一个安装下载测试所感,当然如果你更想用傻瓜式集成包的,那还是跳过这篇文章吧。
当然我不推荐这篇文章的操作,因为我用了差不多1h才有一副图,有N卡,就用N卡,这只是无奈之举而已,方便那些像我一样暂时没有换机子打算的人群,现在主机显卡其实也不贵。
N卡的可以参考这篇文章https://blog.csdn.net/binzai_16/article/details/130216343,但是注意还是要结合这篇文章的避坑指南,不然后续要拿时间去弥补之前所犯的错误。
正文
把该下的东西都下好,就如下的目录清单。
- git https://git-scm.com/download/win
- python 3.10.6 https://link.zhihu.com/?target=https%3A//www.python.org/ftp/python/3.10.6/python-3.10.6-amd64.exe
- 魔法上网 自己想办法找,这个我不好推荐
避坑1:一开始不要急着gitclone后就打开webui-user.bat
1.1 建议使用如下git clone写法
之所以这样做是避免cd到某个文件夹下时,使用git bash时,提示443或者openSSL等字眼的错误,网上说是网速或者全局的问题,其实也包括权限的问题。
git clone git的地址 “复制到的本地路径地址\文件夹名”
比如我的:
git clone https://github.com/lshqqytiger/stable-diffusion-webui-directml.git “D:\SD”
1.2 编辑webui-user.bat的第三行如下(因为用A卡)
set COMMANDLINE_ARGS=–medvram --skip-torch-cuda-test --no-half --precision full --use-cpu all
或者
set COMMANDLINE_ARGS=–precision full --no-half --opt-sub-quad-attention --lowvram --disable-nan-check --autolaunch
1.3 不使用v1.5SD模型
在文件目录models\Stable-diffusion下放入另一个模型,这是为了避免之后好不容易安装完了,它提示你没有模型,好不容易下载完。
错误提示:
something went wrong。
如果看到运行webui-user.bat时,还是自己生成了v1.5SD模型,那么之后就删掉它。
因此要到这个下载地址https://cyberes.github.io/stable-diffusion-models/#stable-diffusion-1-4,推荐迅雷下载,下载好后放入到我提到的文件夹中。
1.4 下载rust编辑器
看到这里你肯定会疑惑了,我们不是要用python的吗?
这个我也不知道,你下了就对了,不然后面的transformers无法安装
因为是windows到官网选择推荐的下载方式https://www.rust-lang.org/tools/install。

执行文件,输入1即可。

测试是否安装成功。

避坑2:所有的下载都必须git clone,不要本地下载
这是因为git clone下载时会自动有个node tree,我不知道这hash值具体有什么用的,应该类似钥匙,如果本地下载后,它们就会没有这个hash值,运行webui-user.bat时就会提示错误。
错误类似:
reference is not a tree: 24268930bf1dce879235a7fddd0b2355b84d7ea6
2.1 在完成上述步骤后,就运行webui-user.bat
等一会,等到命令行工具显示下载installing GFPGAN时,就Ctrl+C停止批量工具操作,这时会产生一个\venv\Scripts的路径。
2.2 git clone命令与相应操作如下(看自己安装目录更改)
使用git bash工具
git clone https://github.com/TencentARC/GFPGAN.git "D:\SD\venv\Scripts\GFPGAN"
之后在命令行到D:\SD\venv\Scripts\GFPGAN输入如下的命令。
D:\SD\venv\Scripts\python.exe -m pip install basicsr facexlib
D:\SD\venv\Scripts\python.exe -m pip install -r requirements.txt
D:\SD\venv\Scripts\python.exe setup.py develop
D:\SD\venv\Scripts\python.exe -m pip install realesrgan
然后到下载open_clip,也是同样的git bash
git clone https://github.com/mlfoundations/open_clip "D:\SD\venv\Scripts\open_clip"
命令行到D:\SD\venv\Scripts\open_clip输入如下的命令。
D:\SD\venv\Scripts\python.exe setup.py build install
也是同样的操作到CLIP
git clone https://github.com/openai/CLIP.git "D:\SD\venv\Scripts\CLIP"
到相应的目录下,输入如下命令
D:\SD\venv\Scripts\python.exe -m pip install ftfy regex tqdm
D:\SD\venv\Scripts\python.exe setup.py build install
2.3 gitclone与安装依赖
其实操作也跟2.2类型,相应操作也是合起来如下,没有repositories文件夹,就自己新建一个:
git clone https://github.com/Stability-AI/stablediffusion.git "D:\SD\repositories\stable-diffusion-stability-ai" git clone https://github.com/CompVis/taming-transformers.git "D:\SD\repositories\taming-transformers" git clone https://github.com/crowsonkb/k-diffusion.git "D:\SD\repositories\k-diffusion"git clone https://github.com/sczhou/CodeFormer.git "D:\SD\repositories\CodeFormer" git clone https://github.com/salesforce/BLIP.git "D:\SD\repositories\BLIP"
但是要到上面涉及到的每个目录下,检查是否有requirements.txt文件,有就到对应目录的命令行,执行如下命令
D:\SD\venv\Scripts\python.exe -m pip install -r requirements.txt
2.4 pip transformers时,麻烦的tokenziers错误
解决方案:网络问题,试多几次(这里我用了差不多3~4h弄成功了)
尽管之前已经安装好了rust编辑器,但是它还会提示各种千奇百怪的错误,比如我下面这个。
Building wheels for collected packages: tokenizersBuilding wheel for tokenizers (pyproject.toml) ... errorerror: subprocess-exited-with-error× Building wheel for tokenizers (pyproject.toml) did not run successfully.│ exit code: 1╰─> [62 lines of output]running bdist_wheelrunning buildrunning build_pycreating buildcreating build\lib.win-amd64-cpython-310creating build\lib.win-amd64-cpython-310\tokenizerscopying py_src\tokenizers\__init__.py -> build\lib.win-amd64-cpython-310\tokenizerscreating build\lib.win-amd64-cpython-310\tokenizers\modelscopying py_src\tokenizers\models\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\modelscreating build\lib.win-amd64-cpython-310\tokenizers\decoderscopying py_src\tokenizers\decoders\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\decoderscreating build\lib.win-amd64-cpython-310\tokenizers\normalizerscopying py_src\tokenizers\normalizers\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\normalizerscreating build\lib.win-amd64-cpython-310\tokenizers\pre_tokenizerscopying py_src\tokenizers\pre_tokenizers\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\pre_tokenizerscreating build\lib.win-amd64-cpython-310\tokenizers\processorscopying py_src\tokenizers\processors\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\processorscreating build\lib.win-amd64-cpython-310\tokenizers\trainerscopying py_src\tokenizers\trainers\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\trainerscreating build\lib.win-amd64-cpython-310\tokenizers\implementationscopying py_src\tokenizers\implementations\base_tokenizer.py -> build\lib.win-amd64-cpython-310\tokenizers\implementationscopying py_src\tokenizers\implementations\bert_wordpiece.py -> build\lib.win-amd64-cpython-310\tokenizers\implementationscopying py_src\tokenizers\implementations\byte_level_bpe.py -> build\lib.win-amd64-cpython-310\tokenizers\implementationscopying py_src\tokenizers\implementations\char_level_bpe.py -> build\lib.win-amd64-cpython-310\tokenizers\implementationscopying py_src\tokenizers\implementations\sentencepiece_bpe.py -> build\lib.win-amd64-cpython-310\tokenizers\implementationscopying py_src\tokenizers\implementations\sentencepiece_unigram.py -> build\lib.win-amd64-cpython-310\tokenizers\implementationscopying py_src\tokenizers\implementations\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\implementationscreating build\lib.win-amd64-cpython-310\tokenizers\toolscopying py_src\tokenizers\tools\visualizer.py -> build\lib.win-amd64-cpython-310\tokenizers\toolscopying py_src\tokenizers\tools\__init__.py -> build\lib.win-amd64-cpython-310\tokenizers\toolscopying py_src\tokenizers\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizerscopying py_src\tokenizers\models\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers\modelscopying py_src\tokenizers\decoders\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers\decoderscopying py_src\tokenizers\normalizers\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers\normalizerscopying py_src\tokenizers\pre_tokenizers\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers\pre_tokenizerscopying py_src\tokenizers\processors\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers\processorscopying py_src\tokenizers\trainers\__init__.pyi -> build\lib.win-amd64-cpython-310\tokenizers\trainerscopying py_src\tokenizers\tools\visualizer-styles.css -> build\lib.win-amd64-cpython-310\tokenizers\toolsrunning build_extrunning build_rustcargo rustc --lib --message-format=json-render-diagnostics --manifest-path Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib --warning: unused manifest key: target.x86_64-apple-darwin.rustflagsUpdating crates.io indexwarning: spurious network error (2 tries remaining): failed to send request: 鎿嶄綔瓒呮椂; class=Os (2)warning: spurious network error (1 tries remaining): failed to send request: 鎿嶄綔瓒呮椂; class=Os (2)error: failed to get `env_logger` as a dependency of package `tokenizers-python v0.10.3 (C:\Users\LENOVO\AppData\Local\Temp\pip-install-bw47mt33\tokenizers_3b1650888a634bdab4e4c98d147e7833)`Caused by:failed to load source for dependency `env_logger`Caused by:Unable to update registry `crates-io`Caused by:failed to fetch `https://github.com/rust-lang/crates.io-index`Caused by:failed to send request: 鎿嶄綔瓒呮椂; class=Os (2)error: `cargo rustc --lib --message-format=json-render-diagnostics --manifest-path Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib --` failed with code 101[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.ERROR: Failed building wheel for tokenizers
Failed to build tokenizers
后面我找了网上不少答案,发现它们的回答根本就不统一,后面我问了一下chatGPT,人家的回答如下:
说人话:chatGPT不知道为什么会这样啊?
注意:
其实就是网络问题,跟你的工具版本没关系的,你多试几次,或者找找有没有更快下载的通道

错误信息表明在安装过程中构建tokenizers包的wheel文件出现了问题。错误发生在运行cargo rustc命令时,该命令用于编译Rust代码。
具体的错误信息如下:
error: failed to get `env_logger` as a dependency of package `tokenizers-python v0.10.3`
这个错误表明构建过程无法获取tokenizers包所需的env_logger依赖项。
错误进一步说明了以下内容:
Caused by:Unable to update registry `crates-io`Caused by:failed to fetch `https://github.com/rust-lang/crates.io-index`Caused by:failed to send request: 鎿嶄綔瓒呮椂
; class=Os (2)
这些消息表明更新注册表和获取所需的依赖项时出现了问题。错误信息failed to send request: 鎿嶄綔瓒呮椂表明可能存在网络问题或者crates.io索引的临时问题。
以下是解决该问题的几个步骤:
-
检查网络连接:确保您拥有稳定的互联网连接,并能够访问外部资源。
-
重试安装:有时网络问题可能是暂时的。再次尝试运行安装命令,看看问题是否能够解决。
-
清除pip缓存:pip会缓存软件包以提高安装速度。然而,缓存文件有时会引发问题。您可以尝试通过运行以下命令清除pip缓存:
pip cache purge -
指定其他软件包源:您可以尝试从其他软件包源安装该软件包。例如,您可以使用
--index-url选项来指定另一个软件包索引:pip install --index-url https://pypi.python.org/simple/ tokenizers -
升级pip和setuptools:过时的pip和setuptools版本有时会引发问题。尝试运行以下命令升级它们:
pip install --upgrade pip pip install --upgrade setuptools -
安装Rust:
tokenizers包依赖于Rust。确保您的系统上已安装Rust并且是最新版本。您可以按照官方Rust网站(https://www.rust-lang.org/tools/install)上的说明安装Rust。
如果尝试了这些步骤后问题仍然存在,建议搜索与tokenizers包相关的类似问题或错误消息,看看是否有已知的解决方案或变通方法。您可以在论坛或问题跟踪器上寻找相关信息。
避坑3:正常运行webui-user.bat,测试
如果它莫名其妙自己下载v1.5SD模型,就后续删掉,正常会得到如下结果,

其中Installing requirements不用管它,过会就行了。
输入网址http://127.0.0.1:7860,查看

如果没有在页面上出现something went wrong那么就是成功了!
3.1 如果出现 AttributeError: 'NoneType' object has no attribute 'process_texts'错误
回答你问题的网址https://github.com/vladmandic/automatic/issues/382
其实就是你没等SD模型加载完,就开始生图了,过会再尝试就行了
3.2 如果出现RuntimeError: Could not allocate tensor with 402653184 bytes. There is not enough GPU video memory available!
那是因为你在使用A卡的情况下,就算有个16G内存,因为你要调的因子可能需要的算力太大,所以计算机直接不干了,解决的方法如下:
- 设置webui.bat的配置成medvram,以时间换空间
- 自己用linux虚拟机
- 白嫖谷歌的colar的GPU
- 使用一些SD的插件也同样是牺牲质量换取时间
具体可以参考这个帖子 https://www.zhihu.com/question/590045937
相关文章:
【A卡,Windows】stable diffusion webui下载安装避坑指南
观前提醒 本文内容都是本人亲身经历的,一个一个安装下载测试所感,当然如果你更想用傻瓜式集成包的,那还是跳过这篇文章吧。 当然我不推荐这篇文章的操作,因为我用了差不多1h才有一副图,有N卡,就用N卡&…...
并发编程-系统学习篇
并发编程的掌握过程并不容易。 我相信为了解决这个问题,你也听别人总结过:并发编程的第 一原则, 那就是不要写并发程序 这个原则在我刚毕业的那几年曾经是行得通的,那个时候多核服务器还是一种奢侈品,系统的并发量也很…...
在浏览器网页上使用JavaScript如何将mp4视频转换成gif动态图片
前言 要将mp4视频转换为gif动态图像,可以使用JavaScript库中的FFmpeg.js。这个库可以使用JavaScript读取和写入文件,也可以使用canvas和WebGL在浏览器中进行视频处理。 步骤如下: 1.在网站中引入FFmpeg.js库 <script src"https:/…...
Nginx网络服务——主配置文件-nginx.conf
Nginx网络服务——主配置文件-nginx.conf 一、全局配置的六个模块简介二、nginx配置文件的详解1.全局配置模块2.I/O 事件配置3.HTTP 配置4.Web 服务的监听配置5.其他设置 三、访问状态统计与控制1.访问状态统计2.基于授权的访问控制3.基于客户端的访问控制 一、全局配置的六个模…...
Java Map集合
8 Map集合 HashMap: 元素按照键是无序,不重复,无索引,值不做要求LinkedHashMap: 元素按照键是有序,不重复,无索引,值不做要求8.1 Map集合概述和特点 Map集合是一种双列集合,每个元素包含两个值Interface Map<K,V>; K:键的类型,V:值的类型Map集合的每个元素的格…...
数据库中的中英文术语大全
一、基础理论 基础理论英文术语中文释义data数据database(DB)数据库database system(dbs)数据库系统database management system数据库管理系统database administrator数据库管理员relational model关系模型relational database关…...
调用华为API实现身份证识别
调用华为API实现身份证识别 1、作者介绍2、调用华为API实现身份证识别2.1 算法介绍2.1.1OCR简介2.1.2身份证识别原理2.1.3身份证识别应用场景 2.2 调用华为API流程 3、代码实现3.1安装相关的包3.2代码复现3.3实验结果 1、作者介绍 雷千龙,男,西安工程大…...
一个简单的基于C/S模型的TCP通信实例
1 TCP协议 1.1 概念 TCP是一种面向连接的、可靠的协议,有点像打电话,双方拿起电话互通身份之后就建立了连接,然后说话就行了,这边说的话那边保证听得到,并且是按说话的顺序听到的,说完话挂机断开连接。也…...
VMware ESXi 8.0b Unlocker OEM BIOS 集成 REALTEK 网卡驱动和 NVMe 驱动 (集成驱动版)
VMware ESXi 8.0b Unlocker & OEM BIOS 集成 REALTEK 网卡驱动和 NVMe 驱动 (集成驱动版) 发布 ESXi 8.0 集成驱动版,在个人电脑上运行企业级工作负载 请访问原文链接:https://sysin.org/blog/vmware-esxi-8-sysin/,查看最新版。原创作…...
ShardingSphere笔记(三):自定义分片算法 — 按月分表·真·自动建表
ShardingSphere笔记(二):自定义分片算法 — 按月分表真自动建表 文章目录 ShardingSphere笔记(二):自定义分片算法 — 按月分表真自动建表一、 前言二、 Springboot 的动态数据库三、 实现我们自己的动态数…...
SpringBoot 如何实现文件上传和下载
当今Web应用程序通常需要支持文件上传和下载功能,Spring Boot提供了简单且易于使用的方式来实现这些功能。在本篇文章中,我们将介绍Spring Boot如何实现文件上传和下载,同时提供相应的代码示例。 文件上传 Spring Boot提供了Multipart文件上…...
Linux系统下imx6ull QT编程—— Ubuntu 下编写程序(一)
Linux QT编程 文章目录 Linux QT编程前言一、C简介二、C环境设置1.安装编译 C 语言和 C的环境。2.创建文件编写代码3.编译运行代码 总结 前言 绍在 Ubuntu 在终端窗口下使用 vi/vim 编辑一个 C源文件。通过编写最简单的示例“Hello,World QCX”。 一、C简介 C (c…...
网络编程--多线程服务器客户端
写在前面 此前的回声服务器/客户端都是在主线程中阻塞交互,本文将使用多线程方式实现服务器/客户端。 互斥量相关接口 使用多线程,自然避免不了线程同步问题。 因本文使用互斥量实现线程同步,因此仅介绍互斥量相关接口,其他实…...
如何使用vue的计算属性来处理数据计算?
计算属性是Vue.js中非常强大的功能,它可以帮助我们轻松地处理数据计算和管理数据。 先说个段子:有一天,一个新手问一个Vue大师,“大师,我的数据计算和管理怎么那么麻烦?”,大师回答:…...
游戏研发项目管理
基于阶段模式进行游戏新产品研发过程,以及基于这种研发过程使用Leangoo 领歌敏捷工具管理 二、游戏产品开发流程 通常开发一款新游戏大体上会按照如下流程来进行: 1) 概念阶段 – Concept 主策根据产品创意,确定游戏策划草案&a…...
P1249 乘积最大
最大乘积 题目描述 一个正整数一般可以分为几个互不相同的自然数的和,如 3 1 2 312 312, 4 1 3 413 413, 5 = 1 4 2 3 5=1423 5=1423, 6 1 5 = 2 4 615=24 …...
【7 Vue3 – Composition API】
1 认识Composition API Options API的弊端 setup函数 2 setup函数的参数 3 setup简单使用 1 注意不再有响应式数据 要做到响应式数据需要在数据定义时使用ref包装数据,并且在使用时,使用value解包 2 注意template要使用的数据或者函数,必须要return 返回才能被使用 <templa…...
设计模式-模板方法模式
模板方法模式 问题背景解决方案:模板方法模式基本介绍解决问题代码示例运行结果 钩子方法注意事项和细节 问题背景 豆浆的制作: 1)制作豆浆的流程:选材—>添加配料—>浸泡—>放到豆浆机打碎 2)通过添加不同…...
9. python的if语句
文章目录 一、if结构1.1 比较符号1.1.1 使用比较两个数据是否相等:1.1.2 使用!号比较数据是否不相等1.1.3 使用<号比较数字大小关系1.1.4 使用<号比较数字大小关系1.1.5 使用>号比较数字大小关系1.1.6 使用>号比较数字大小关系 1.2 关键字1.2.1 and关键…...
并发编程的基础知识
并发编程的优缺点 充分利用多核CPU的计算能力:通过并发编程的形式可以将多核CPU的计算能力发挥到极致,性能得到提升方便进行业务拆分,提升系统并发能力和性能:在特殊的业务场景下,先天的就适合于并发编程。现在的系统动…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
C++八股 —— 单例模式
文章目录 1. 基本概念2. 设计要点3. 实现方式4. 详解懒汉模式 1. 基本概念 线程安全(Thread Safety) 线程安全是指在多线程环境下,某个函数、类或代码片段能够被多个线程同时调用时,仍能保证数据的一致性和逻辑的正确性…...
三分算法与DeepSeek辅助证明是单峰函数
前置 单峰函数有唯一的最大值,最大值左侧的数值严格单调递增,最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值,最小值左侧的数值严格单调递减,最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...
2025年- H71-Lc179--39.组合总和(回溯,组合)--Java版
1.题目描述 2.思路 当前的元素可以重复使用。 (1)确定回溯算法函数的参数和返回值(一般是void类型) (2)因为是用递归实现的,所以我们要确定终止条件 (3)单层搜索逻辑 二…...
【技巧】dify前端源代码修改第一弹-增加tab页
回到目录 【技巧】dify前端源代码修改第一弹-增加tab页 尝试修改dify的前端源代码,在知识库增加一个tab页"HELLO WORLD",完成后的效果如下 [gif01] 1. 前端代码进入调试模式 参考 【部署】win10的wsl环境下启动dify的web前端服务 启动调试…...
