菜单

环境配置

相关源文件

此页面说明了 Stable Diffusion Web UI 的环境配置方式,包括依赖项、Python 包、仓库和特定于硬件的优化。有关命令行启动选项的信息,请参阅 启动选项

概述

Stable Diffusion Web UI 需要一个配置正确且具有特定依赖项的环境才能正常运行。环境配置过程包括:

  1. 设置 Python 解释器和虚拟环境
  2. 安装所需的 Python 包和依赖项
  3. 克隆必要的仓库
  4. 应用特定于硬件的优化
  5. 配置特定于平台的设置

环境配置流程

来源:launch.py26-44 modules/launch_utils.py318-447

配置方法

Web UI 环境可通过三种主要方法配置,按优先级顺序列出:

  1. 命令行参数 - 覆盖所有其他设置
  2. 环境变量 - 设置默认配置
  3. 用户配置文件 - 提供持久化的用户设置

命令行参数

用于环境配置的关键参数包括:

参数目的
--skip-prepare-environment跳过所有环境准备
--skip-python-version-check不检查 Python 版本
--skip-torch-cuda-test跳过 CUDA 功能测试
--reinstall-torch即使 PyTorch 已安装,也重新安装
--reinstall-xformers即使 xformers 已安装,也重新安装
--skip-install跳过包的安装
--update-check启动时检查更新
--use-ipex将 Intel XPU 用作 torch 设备
--xformers为交叉注意力层启用 xformers

来源:modules/cmd_args.py6-129 launch.py26-44

环境变量

影响配置的常见环境变量

可变目的默认值
TORCH_COMMAND安装 PyTorch 的命令pip install torch==2.1.2 torchvision==0.16.2 --extra-index-url https://download.pytorch.org/whl/cu121
TORCH_INDEX_URLPyTorch 轮子(wheels)的 URLhttps://download.pytorch.org/whl/cu121
REQS_FILE要使用的要求文件requirements_versions.txt
XFORMERS_PACKAGExformers 包的规格xformers==0.0.23.post1
GIT要使用的 Git 可执行文件git
INDEX_URLPyPI 索引 URL空字符串
COMMANDLINE_ARGS附加的命令行参数特定于平台

来源:modules/launch_utils.py23-26 modules/launch_utils.py319-352 webui-macos-env.sh1-18

用户配置文件

特定于平台的用户的配置文件

  • Linux/macOS: webui-user.sh
  • Windows: webui-user.bat

这些文件定义了跨启动持久化的环境变量和设置。在更新过程中不会覆盖它们。

来源:webui-user.sh1-49 webui-user.bat1-9 webui.sh18-23 webui.bat3-7

依赖管理

Web UI 通过几个系统管理依赖项

Python 包依赖项

Web UI 使用固定的包版本来确保兼容性。依赖项在两个文件中指定:

  1. requirements_versions.txt - 包含精确的包版本(首选)
  2. requirements.txt - 包含更灵活的版本规范

主要依赖项包括

目的默认版本
torch/torchvisionPyTorch 框架2.1.2/0.16.2
gradioWeb 界面3.41.2
transformersHugging Face 模型4.30.2
safetensors安全模型存储0.4.2
xformers内存优化0.0.23.post1
accelerate训练加速0.21.0

来源:requirements_versions.txt1-36 modules/launch_utils.py319-350

外部仓库

环境设置会克隆几个必需的仓库

仓库目的位置
stable-diffusion-stability-aiStable Diffusion 模型./repositories/stable-diffusion-stability-ai
generative-modelsStable Diffusion XL./repositories/generative-models
k-diffusion采样方法./repositories/k-diffusion
BLIP图像字幕./repositories/BLIP
stable-diffusion-webui-assetsUI 资源./repositories/stable-diffusion-webui-assets

来源:modules/launch_utils.py347-358 modules/launch_utils.py411-415

平台和硬件配置

Python 版本要求

  • Windows: 支持 Python 3.10
  • Linux/macOS: 支持 Python 3.7-3.11
  • 默认测试版本: 3.10.6

来源:modules/launch_utils.py34-62

GPU 特定配置

系统会自动检测并配置不同的 GPU 类型

来源:webui.sh130-175 modules/launch_utils.py319-335

macOS 特定配置

macOS 有特定设置来处理 Metal GPU 后端

  • 启用 Metal Performance Shaders (MPS)
  • 禁用 VAE 的半精度
  • 强制对 interrogate 等某些操作使用 CPU
  • 针对 Intel/Apple Silicon 使用特定于平台的 PyTorch 版本

来源:webui-macos-env.sh1-18

虚拟环境管理

Web UI 使用 Python 虚拟环境来隔离依赖项。

虚拟环境设置

虚拟环境选项

设置平台描述
VENV_DIR所有虚拟环境的目录(默认为 venv
SKIP_VENVWindows设置为 1 以跳过 venv 创建
venv_dir="-"Linux/macOS设置为 - 以禁用 venv

来源:webui.sh25-43 webui.sh208-236 webui.bat9-52

环境准备过程

主要的环境准备发生在 launch_utils.py 文件中的 prepare_environment() 函数中

  1. 检查 Python 版本兼容性
  2. 检索 git 版本信息
  3. 为适当的硬件安装/配置 PyTorch
  4. 测试 GPU/CUDA 可用性(如果适用)
  5. 安装必需的包(CLIP, OpenCLIP, xformers)
  6. 克隆必需的仓库
  7. 从 requirements 文件安装依赖项
  8. 运行扩展安装程序

来源: modules/launch_utils.py318-447 launch.py35-39

故障排除

常见错误场景

错误可能的解决方案
Python版本不兼容使用 Python 3.10 (推荐 3.10.6)
CUDA 不可用添加 --skip-torch-cuda-test 或检查 GPU 驱动
软件包安装失败检查互联网连接,尝试 --reinstall-torch
"找不到 Stable Diffusion"检查仓库是否克隆,或使用 --skip-prepare-environment 运行
内存不足错误尝试 --medvram, --lowvram, 或 --lowram 选项
虚拟环境问题删除 venv 文件夹并重新创建,或使用 --skip-venv

诊断

系统可以使用以下命令生成诊断报告

这将创建一个包含详细环境信息的 JSON 文件。

来源: modules/sysinfo.py45-53 launch.py27-33

Linux 上的 TCMalloc 优化

在 Linux 系统上,如果可用,启动器会尝试使用 TCMalloc 来改进内存使用情况。

  1. 检查系统上的 TCMalloc 库
  2. 验证与系统 libc 版本兼容性
  3. 在找到 TCMalloc 时设置 LD_PRELOAD 以使用它

来源: webui.sh239-282

文件夹结构

由环境配置管理的重要文件夹

文件夹目的
./venvPython 虚拟环境
./repositories克隆的外部仓库
./models模型存储
./extensions用户和内置扩展
./tmp临时文件

来源: .gitignore1-45