【笔记】重建 Stable Diffusion WebUI 虚拟环境实录
一次"假激活"排雷小结
本文基于 Windows + Conda 场景,记录项目整体搬迁后,因"假激活"导致依赖错装,最终重建 .venv 的全过程。命令已拆行,复制后改路径即可用。
1 背景:项目搬家后的"假激活"
- 原目录:
F:\StableDiffusion - 新目录:
G:\PythonProjects2\stable-diffusion-webui - 现象:PyCharm Terminal 显示
(.venv),但
cmd
where python
并没有当前项目下的 .venv\Scripts\python.exe,pip 安装的包实际落到全局 Conda 环境,WebUI 启动可能会报各种 ModuleNotFoundError。
已备份 requirements20251008.txt 文件。
2 重建步骤
步骤总览
| 步骤 | 命令 & 输出 |
|---|---|
| 0. 删旧环境 | 直接资源管理器删掉 .venv 整个文件夹。 |
| 1. 进入项目 | cd G:\PythonProjects2\stable-diffusion-webui |
| 2. 用 conda 基础 Python 新建 venv | conda activate py311 python -m venv --copies .venv |
| 3. 手工激活 | .\.venv\Scripts\Activate.bat 提示符出现 (.venv) |
| 4. 退出 conda 避免干扰 | conda deactivate 此时只剩 (.venv) 前缀 |
| 5. 验证真假激活 | where python 第一行必须是 G:\PythonProjects2\stable-diffusion-webui\.venv\Scripts\python.exe |
| 6. 升级三件套 | python -m pip install --upgrade pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/ 从 pip 24.0 → 25.3,setuptools 65.5 → 80.9,wheel 0 → 0.45.1 |
| 7. 安装 PyTorch CUDA 12.6 | pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu126 --force-reinstall 2.7 GB 轮子 3.2 MB/s 约 15 min 完成 |
| 8. 批量装依赖(183 个) | pip install -r requirements20251008.txt --no-deps -i https://mirrors.aliyun.com/pypi/simple/ 含 depth_anything*、handrefinerportable、onnxruntime-gpu 等编译轮,全程无报错 |
| 9. 额外 llama-cpp | pip install llama-cpp-python --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cu121 50 MB 源码包 1 min 编译完成 |
| 10. 启动 WebUI | .\webui-user.bat 输出节选: `Python 3.11.13 |
以下每段均可单独复制,路径请按需替换实际路径。
分解实录
2.1 进入项目根目录
cmd
cd /d G:\PythonProjects2\stable-diffusion-webui
2.2 删除旧环境(如存在)
cmd
rmdir /s /q .venv
2.3 用 Conda 的 Python 新建 venv------基于 EPGF 架构
【EPGF 白皮书】路径治理驱动的多版本 Python 架构------ Windows 环境治理与 AI 教学开发体系
cmd
:: 先激活你本地已有的 conda 基础 python3.11 环境(基于EPGF架构的父级环境)
conda activate py311
::基于父级环境创建解耦的本地虚拟环境, --copies 避免符号链接断链
python -m venv --copies .venv
2.4 激活并退出 Conda,保持 PATH 干净
cmd
.\.venv\Scripts\activate.bat
conda deactivate

EPGF 架构的又一好处是:可以在系统中任意切换 Python 版本并实现灵活调用,同时保持整个系统架构的长期稳定性!
【终极实战】Conda/Poetry/Virtualenv/Pipenv/Hatch 多工具协同 + Anaconda×PyCharm:构建 Python 全版本栈隔离体系与虚拟环境自动化管理指南
2.5 验证是否真激活
cmd
where python
或 powershell 中的命令:
powershell
where.exe python
期望首行:
G:\PythonProjects2\stable-diffusion-webui\.venv\Scripts\python.exe

2.6 升级三件套
cmd
python -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/

2.7 安装指定版本 PyTorch(CUDA 12.6)
cmd
pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu126 --force-reinstall

2.8 批量恢复依赖(需提前备份好 requirements 清单)
cmd
pip install -r requirements20251008.txt --no-deps -i https://mirrors.aliyun.com/pypi/simple/
如遇卡住的安装,先注释掉该行,记下来,然后另外手动安装

2.9 (可选)llama-cpp-python (CUDA支持)

cmd
pip install llama-cpp-python --extra-index-url https://abetlen.github.io/llama-cpp-python/whl/cu121

2.10 启动 WebUI
cmd
.\webui-user.bat
正常应出现:
Running on local URL: http://127.0.0.1:7860
Model loaded in 2.6s

3 采样验证
文本-生图 20 步日志节选:
cmd
100%|████████████| 20/20 [00:02<00:00, 9.8it/s]
Total progress: 100%|████████████| 20/20 [00:01<00:00, 15.5it/s]
CUDA 占用 ≈ 6.3 GB,环境重建成功。


4 一键自检脚本
保存为 check_env.bat,双击即可:
cmd
@echo off
echo === 当前解释器 ===
where python
echo.
echo === pip 指向 ===
where pip
echo.
echo === torch 路径/版本 ===
python -c "import torch,sys,os;print('torch ver:',torch.__version__);print('torch file:',torch.__file__);print('venv root:',sys.prefix)"
pause
若第一行不是 .venv\Scripts\python.exe,需重新激活或重建。
5 小结
(.venv)前缀 ≠ 真正切换了解释器;where python是金标准。- 项目迁移后最好加
--copies重建 venv,避免符号链接失效。 - 日常留一份
pip freeze > requirements2025xxxx.txt,恢复环境最省心。 - 国内装 PyTorch 优先官方 CUDA index + 国内 PyPI 镜像,速度翻倍。
至此,"假激活"排雷完成,祝炼丹顺利!