stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)

这篇具有很好参考价值的文章主要介绍了stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大话stable-diffusion-webui系列

主要介绍stable-diffusion-webui主题开发、插件开发 等内容,感兴趣的朋友可以订阅下!

大话Stable-Diffusion-Webui-客制化主题(一)
大话Stable-Diffusion-Webui-客制化主题(二)
大话Stable-Diffusion-Webui-客制化主题(三)

不定时更新中...

AMD显卡请看这篇文章

stable-diffusion-webui手动安装详细步骤(AMD显卡)

前提

首先不建议去安装stable-diffusion-webui的一键安装包,既然学习就一次性把它学会。然后,最主要的是一键安装有以下问题:
1、安装包的中的torch版本与自己的CUDA版本不兼容,最后虽然可以运行程序,但是根本不会激活GPU去加速渲染图形,导致渲染一副图形的速度极慢
2、stable-diffusion-webui建议的python版本是3.10,但是python3.10可能无法通过pip或者conda去下载某些CUDA版本对应的torch,导致最后程序无法启动

问题

笔者在安装过程中遇到的问题:
CUDA版本是10.2,使用python3.10去下载torch包时始终取法找到CUDA10.2对应的torch包,这个问题困扰了我一天,之后发现python3.10目前是不支持cuda10.2版本的torch包的,可以通过 CUDA版本对应的torch去查看,最终通过先升级显卡驱动(升级CUDA版本)再下载对应CUDA版本的CUDAToolKit,再下载CUDA版本对应的torch包即可。

环境

OS:Windows10
显卡类型:NVIDIA(英伟达)
Python版本:3.10.6(必须为该版本)
Git:必须

安装过程

升级CUDA驱动

笔者这里由于遇到了以上所述问题,所以先要升级CUDA驱动,如果是更高版本的驱动可以跳过该步骤。

需要根据自己显卡类型去下载相应的驱动,win + x ->设备管理器 ->显示适配器
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
然后去 CUDA驱动 填写对应的显卡信息后搜索显卡驱动
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
笔者这里选择第一个驱动进行下载,下载之后是一个exe文件,直接按照步骤安装即可,过程比较简单不再赘述
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
安装完成后查看CUDA版本,笔者这里是11.4.176
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
或者是使用命令nvidia-smi查看,可以看到CUDA版本是11.4,相应的驱动版本是472.84

PS C:\Users\samsung> nvidia-smi
Sat Apr  1 14:02:38 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 472.84       Driver Version: 472.84       CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ... WDDM  | 00000000:01:00.0 Off |                  N/A |
| N/A    0C    P8    N/A /  N/A |     75MiB /  4096MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A     14052    C+G   ...IA GeForce Experience.exe    N/A      |
+-----------------------------------------------------------------------------+

安装CUDAToolKit

如果原来装过CUDA ToolKit请先卸载

CUDA ToolKit
找到CUDA驱动版本对应的CUDA ToolKit版本下载,由于笔者这里的CUDA驱动版本是472.84,所以CUDA ToolKit版本选择11.4.4,CUDA驱动版本与CUDA ToolKit对应关系
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
下载好之后是一个exe文件,cuda_11.4.4_472.50_windows.exe,可以看到名字中含有可以使用该CUDA ToolKit的最小CUDA驱动为472.50。安装很简单,这里不再赘述。

最终查看CUDA的实际版本,nvcc --version

PS C:\Users\samsung> nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_Oct_11_22:11:21_Pacific_Daylight_Time_2021
Cuda compilation tools, release 11.4, V11.4.152
Build cuda_11.4.r11.4/compiler.30521435_0

安装cuDNN

cuDNN版本
cuDNN是一个神经网络学习的加速库,因为stable-diffusion-webui中根据一些模型进行文本生图时可以用该包加快渲染速度。找到与CUDA版本一直的cuDNN下载
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
下载后将该压缩包解压,将里面的全部文件复制到CUDA安装的目录下,路劲为:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.4
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
注:可以看到虽然有同名文件夹,但是没有同名文件,所以cuDNN的文件在复制到CUDA中时是不会提示要覆盖的情况,如果有,那么一定是哪里出错了

克隆项目地址

stable-diffusion-webui
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)

克隆github项目自行查询,比较简单不再赘述。如果由于网络的原因无法克隆,可以先将项目fork到 自己的 https://gitee.com/ 仓库(国内仓库访问较快),然后再克隆到本地,方法如下:
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
此时 git clone https://… 去把项目克隆到本地就行

安装Pytorch

笔者这里使用Anaconda安装了一个python3.10.6的虚拟环境,当然大家也可以不使用Anaconda,直接下载安装python3.10.6也是可以的

pytorch
需要安装CUDA版本对应的Pytorch版本,如果不是使用Annconda,请使用pip install指令下载pytorch
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
笔者这里本应该安装CUDA11.4对应的pytorch,但是pytorch官网中目前并没有提供该版本,于是安装了CUDA11.3对应的pytorch版本,该版本可以在CUDA11.4中使用

# 创建一个python3.10.6的虚拟环境,并命名为 sdui
(base) C:\Users\samsung>conda create -n sdui python==3.10.6

...

#激活创建的虚拟环境 sdui
(base) C:\Users\samsung>conda activate sdui
# 安装pytorch,等待时间取决于网速
(sdui) C:\Users\samsung>conda install pytorch torchvision torchaudio pytorch-cuda=11.3 -c pytorch -c nvidia

#测试torch是否安装成功
(sdui) C:\Users\samsung>python
Python 3.10.6 | packaged by conda-forge | (main, Oct 24 2022, 16:02:16) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
# true代表成功使用torch
True

启动项目

注意:如果不是使用Anaconda安装的虚拟python环境,那么首先需要双击 webui-user.bat运行后会在项目根目录下生成一个虚拟的python环境(其实是拷贝了系统已经安装的python版本到webui的指定目录),即\venv\Scripts\python.exe,后续安装的python依赖包都是需要通过该虚拟python环境中的python命令去下载的

(2023-06-12)近期很多同学反应双击webui-user.bat安装时过程中会反复报错,其实大多数的错误是由于在安装过程中会去github拉去依赖包时超时而导致的,本质原因是不能顺利的访问github,于是可以给在需要去github拉去依赖的代码处加上代理地址:

(旧版本stable-diffusion-webui加代理)进入webui根目录下,编辑launch.py,全局搜索https://github.com,然后在前面加上https://ghproxy.com/前缀,即最终变成了https://ghproxy.com/https://github.com,记得保存!

(新版本stable-diffusion-webui加代理)如果要给新版本的sd加代理,那么和以上的方式不太一样了(2023-05-29):
需要进入到sd根目录下的modules文件夹,然后编辑launch_utils.py

stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
这样安装过程应该会顺利很多!

# 进入项目根目录,安装项目 requirements.txt 中要求的依赖。可以添加给pip或者conda添加国内镜像,这样可以加快下载速度。如何添加镜像这里不再赘述。
(sdui) D:\AI\project\stable-diffusion-webui>python -m pip install -r requirements.txt
#启动项目
(sdui) D:\AI\project\stable-diffusion-webui>python launch.py
Python 3.10.6 | packaged by conda-forge | (main, Oct 24 2022, 16:02:16) [MSC v.1916 64 bit (AMD64)]
Commit hash: 22bcc7be428c94e9408f589966c2040187245d81
Installing clip
Installing open_clip
Traceback (most recent call last):
  File "D:\AI\project\stable-diffusion-webui\launch.py", line 355, in <module>
    prepare_environment()
  File "D:\AI\project\stable-diffusion-webui\launch.py", line 269, in prepare_environment
    run_pip(f"install {openclip_package}", "open_clip")
  File "D:\AI\project\stable-diffusion-webui\launch.py", line 129, in run_pip
    return run(f'"{python}" -m pip {args} --prefer-binary{index_url_line}', desc=f"Installing {desc}", errdesc=f"Couldn't install {desc}")
  File "D:\AI\project\stable-diffusion-webui\launch.py", line 97, in run
    raise RuntimeError(message)
RuntimeError: Couldn't install open_clip.
Command: "C:\Users\samsung\.conda\envs\sdui\python.exe" -m pip install git+https://github.com/mlfoundations/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b --prefer-binary
Error code: 1
stdout: Looking in indexes: https://mirrors.cloud.tencent.com/pypi/simple
Collecting git+https://github.com/mlfoundations/open_clip.git@bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b
  Cloning https://github.com/mlfoundations/open_clip.git (to revision bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b) to e:\temp\pip-req-build-godg7jm4

stderr:   Running command git clone --filter=blob:none --quiet https://github.com/mlfoundations/open_clip.git 'E:\temp\pip-req-build-godg7jm4'
  fatal: unable to access 'https://github.com/mlfoundations/open_clip.git/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
  error: subprocess-exited-with-error

  git clone --filter=blob:none --quiet https://github.com/mlfoundations/open_clip.git 'E:\temp\pip-req-build-godg7jm4' did not run successfully.
  exit code: 128

  See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

git clone --filter=blob:none --quiet https://github.com/mlfoundations/open_clip.git 'E:\temp\pip-req-build-godg7jm4' did not run successfully.
exit code: 128

See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

这里报错缺少open_clip依赖,因为这个依赖包是从github上去拉去的,笔者这里由于网络不稳定,所以下载失败了。此时可以直接使用conda指令去下载,其实下载指令可以去以上报错中的open_clip的github地址查看,可以看到实际安装的是open_clip_torch依赖
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)

(sdui) D:\AI\project\stable-diffusion-webui>python -m pip install open_clip_torch

此外,也可以直接去github仓库将open_clip的代码clone到本地,然后进入open_clip项目根目录下执行相应指令去安装

(sdui) D:\AI\project\open_clip>python setup.py build install

问题解决后再次回到项目根目录下启动项目

(sdui) D:\AI\project\stable-diffusion-webui>python launch.py
Python 3.10.6 | packaged by conda-forge | (main, Oct 24 2022, 16:02:16) [MSC v.1916 64 bit (AMD64)]
Commit hash: 22bcc7be428c94e9408f589966c2040187245d81
Cloning Stable Diffusion into D:\AI\project\stable-diffusion-webui\repositories\stable-diffusion-stability-ai...
Cloning Taming Transformers into D:\AI\project\stable-diffusion-webui\repositories\taming-transformers...
Traceback (most recent call last):
  File "D:\AI\project\stable-diffusion-webui\launch.py", line 355, in <module>
    prepare_environment()
  File "D:\AI\project\stable-diffusion-webui\launch.py", line 289, in prepare_environment
    git_clone(taming_transformers_repo, repo_dir('taming-transformers'), "Taming Transformers", taming_transformers_commit_hash)
  File "D:\AI\project\stable-diffusion-webui\launch.py", line 151, in git_clone
    run(f'"{git}" clone "{url}" "{dir}"', f"Cloning {name} into {dir}...", f"Couldn't clone {name}")
  File "D:\AI\project\stable-diffusion-webui\launch.py", line 97, in run
    raise RuntimeError(message)
RuntimeError: Couldn't clone Taming Transformers.
Command: "git" clone "https://github.com/CompVis/taming-transformers.git" "D:\AI\project\stable-diffusion-webui\repositories\taming-transformers"
Error code: 128
stdout: <empty>
stderr: Cloning into 'D:\AI\project\stable-diffusion-webui\repositories\taming-transformers'...
fatal: unable to access 'https://github.com/CompVis/taming-transformers.git/': Failed to connect to github.com port 443: Timed out

又报错了,通过输出可以看出,这一步会在项目根目录下生成一个repositories文件夹,然后会从github上克隆一些项目到该文件夹下,但是克隆https://github.com/CompVis/taming-transformers.git项目时超时报错了,所以又是网络的问题,我们直接将该项目手动克隆到repositories文件夹下,然后进入taming-transformers目录下执行

(sdui) D:\AI\project\stable-diffusion-webui\repositories\taming-transformers>python setup.py build install

# 注意:这里有一个坑,如果不是使用Anaconda生成的虚拟python环境的话,而是直接安装的python环境的话,项目启动时会在项目根目录下生成一个虚拟的python环境,后续步骤安装的python依赖包都是通过该虚拟环境的python指令安装的,所以,此时应该进入到该虚拟python环境的目录下,使用该虚拟环境的python去执行 python setup.py build install 这样的指令。
虚拟环境python路径:项目根目录\venv\Scripts\python.exe

或者多启动项目试几次,笔者这里再次启动项目后等了一会就可以了

(sdui) D:\AI\project\stable-diffusion-webui>python launch.py
Python 3.10.6 | packaged by conda-forge | (main, Oct 24 2022, 16:02:16) [MSC v.1916 64 bit (AMD64)]
Commit hash: 22bcc7be428c94e9408f589966c2040187245d81
Cloning Taming Transformers into D:\AI\project\stable-diffusion-webui\repositories\taming-transformers...
Cloning K-diffusion into D:\AI\project\stable-diffusion-webui\repositories\k-diffusion...
Cloning CodeFormer into D:\AI\project\stable-diffusion-webui\repositories\CodeFormer...
Cloning BLIP into D:\AI\project\stable-diffusion-webui\repositories\BLIP...
Installing requirements for CodeFormer
Installing requirements for Web UI
Launching Web UI with arguments:
No module 'xformers'. Proceeding without it.
==============================================================================
You are running torch 1.12.1.
The program is tested to work with torch 1.13.1.
To reinstall the desired version, run with commandline flag --reinstall-torch.
Beware that this will cause a lot of large files to be downloaded, as well as
there are reports of issues with training tab on the latest version.

Use --skip-version-check commandline argument to disable this check.
==============================================================================
Downloading: "https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.safetensors" to D:\AI\project\stable-diffusion-webui\models\Stable-diffusion\v1-5-pruned-emaonly.safetensors

100%|█████████████████████████████████████████████████████████████████████████████| 3.97G/3.97G [16:22<00:00, 4.34MB/s]
Calculating sha256 for D:\AI\project\stable-diffusion-webui\models\Stable-diffusion\v1-5-pruned-emaonly.safetensors: 6ce0161689b3853acaa03779ec93eafe75a02f4ced659bee03f50797806fa2fa
Loading weights [6ce0161689] from D:\AI\project\stable-diffusion-webui\models\Stable-diffusion\v1-5-pruned-emaonly.safetensors
Creating model from config: D:\AI\project\stable-diffusion-webui\configs\v1-inference.yaml
LatentDiffusion: Running in eps-prediction mode
DiffusionWrapper has 859.52 M params.
Applying cross attention optimization (Doggettx).
Textual inversion embeddings loaded(0):
Model loaded in 32.4s (calculate hash: 19.4s, load weights from disk: 0.7s, create model: 1.3s, apply weights to model: 3.9s, apply half(): 1.7s, load VAE: 1.1s, move model to device: 1.3s, load textual inversion embeddings: 2.8s).
Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.
Startup time: 1079.2s (import torch: 8.3s, import gradio: 6.2s, import ldm: 4.3s, other imports: 11.4s, list extensions: 0.3s, list SD models: 1008.8s, setup codeformer: 0.8s, list builtin upscalers: 0.1s, load scripts: 4.7s, load SD checkpoint: 32.9s, create ui: 0.9s, gradio launch: 0.5s).

这一步过程比较长,可以看到会下载一个3.79G的Stable-diffusion模型到项目的models文件夹下。其实我觉得这里代码是可以优化下的,如果用户事先已经单独下载好了相应的模型(因为之后在使用过程中我们也是可以手动导入模型到models文件夹下),那么可以完全直接放到models文件夹下面,无需再次下载,所以这里我觉得可以作为可选选项让用户在命令行中交互:是否下载xxx模型。
到这里我们就可以访问以上日志输出中的地址进行项目的访问:http://127.0.0.1:7860
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)
此时可以看到python正在使用GPU,证明CUDA是起作用的。
stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)

到这里就算是安装成功了,如果想要汉化,github也有相应的汉化包,读者可自行探索使用。关于软件的使用笔者也是一个新手,大家有好的教程可以放在评论区一起学习。

题外话

此外,想创建一个微信群大家交流学习。入群需要遵守规定:
禁止有关包括但不限于政治、色情、宗教类等违法中华人民共和国法律的消息;
禁止广告;
禁止私自加群友;
群友一切的损失由自己承担,应当提高警惕,不要轻信他人!!!
个人微信:INYOURWORLDWITHME(加群备注:AI绘画)文章来源地址https://www.toymoban.com/news/detail-407017.html

到了这里,关于stable-diffusion-webui手动安装详细步骤(以及报错解决、踩坑)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • stable-diffusion-webui 安装

    https://blog.csdn.net/weixin_72056722/article/details/126651703 卸载cpu版本的torch并离线安装对应的gpu版本 1、安装gpu ,速度从一小时加速到3分钟 torch 下载 https://download.pytorch.org/whl/torch_stable.html 1、 No matching distribution found for clip 国内没有,网路 2、 WARNING: Ignoring invalid distribution -ip 找到提示

    2024年02月13日
    浏览(65)
  • stable-diffusion-webui安装教程

    现在AI开始进入绘画领域,并且能自动根据文本来创建图片出来,这是一个划时代的进步。 这时候,我也不能落后,要紧跟上时代的步伐,那么也来学习一下stable-diffusion的使用,这样也算多一项对技术的认识,提高对AI的认知。 从网上看到很多stable-diffusion-webui的安装,其实

    2024年04月12日
    浏览(46)
  • stable-diffusion-webui 安装使用

    最近AI绘画很火,尝试一下 https://github.com/AUTOMATIC1111/stable-diffusion-webui 或者删除python 重新安装,在开始菜单可以找到python的快捷方式,删除对应的源文件夹 关闭翻墙软件 ‘Torch is not able to use GPU; add --skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check’\\\" 1.查驱动 nvidia-sm

    2024年01月18日
    浏览(72)
  • stable-diffusion-webui 快捷安装教程

    stable-diffusion-webui 是一个用来装载Stable Diffusion 模型的网页,可以方便的调用模型生成图片。 stable-diffusion-webui的github地址为:https://github.com/AUTOMATIC1111/stable-diffusion-webui 这个库的依赖很多,虽然代码里面有写安装依赖库的代码,但几乎都是国外资源,在国内网络环境下很难下

    2024年02月11日
    浏览(41)
  • stable-diffusion-webui 安装问题记录

    安装完成后,浏览器打开:http://127.0.0.1:7860/,无论点哪里,只要触发交互,都提示: 解决办法: 1、关闭(墙外魔法工具)软件(不一定有效) 2、需要不关魔法工具的环境下的话,可以修改webui-user.bat文件(Linux系统对应webui-user.sh),增加参数:–no-gradio-queue

    2024年02月13日
    浏览(42)
  • stable-diffusion-webui 安装与运行

    大家好,我是水滴~~ 本文主要介绍在各种显卡环境中,如何安装和运行 stable-diffusion-webui,包括:在 NVIDIA 显卡环境上安装、在 AMD 显卡环境上安装、在集显或小于 4G 显卡环境上安装。 Stable Diffusion 对显卡有一定的要求,其支持的最小独立显存为 4G,8G 以上为优,越大越好。对

    2024年01月20日
    浏览(49)
  • windows安装stable-diffusion-webui教程

    整合包对非技术出身的同学比较友好,因为秋叶大佬把相关的东西已经都整合好了,只需要点点点就行了。当然懂编程的同学就更没有问题了。 为了保证AI绘画的效率,建议在本机安装Nvidia独立显卡,也就是俗称的N卡,并且显存要达到6G以上,6G只能出图,如果要做训练建议

    2024年03月10日
    浏览(70)
  • stable-diffusion-webui安装注意事项

    python使用的3.10 (python-3.10.6-amd64.exe),太高的版本貌似不好使。 gfpgan、clip等包安装失败 的话可以去GitHub下载包,解压后放到stable-diffusion-webuivenvScripts目录下,然后执行下面的步骤即可,注意: 下载路径尽量从安装过程中powershell中的提示中的地址 : 无法安装gfpgan的原因是

    2024年02月02日
    浏览(44)
  • 安装stable-diffusion-webui踩坑经历

    软件下载在b站up秋葉aaaki up很贴心有一个整合包可以直接运行。 在github下载的原始版本sd-webui ,下载过程遇到clip包安装失败,参考了这两个文章可以解决 打开stable diffusion webui时,提示缺少clip或clip安装不上的解决方案(windows下的操作) 本地部署stable-diffusion-webui出现Couldn\\\'

    2024年02月11日
    浏览(44)
  • 基于CPU的云部署Stable-diffusion-webui的详细过程

    最近看到很多很精美的AI图片,也想体验下,正好我有台2vCPU和2G内存轻量云服务器,但是不想再额外买GPU,就想着用CPU模式自己部署,部署经过摸索能顺利完成,但是加载模型已经很吃力,老是提示没有足够内存。本过程主要是用来记录部署的详细过程,仅针对于CPU跑Stable-d

    2024年01月22日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包