在 Windows 部署 Stable Diffusion 遇到 Microsoft Visual C++ 14.0 缺失报错,最直接的解决方案是安装 Microsoft C++ Build Tools 构建工具包。该方案适用于所有需要在 Windows 上编译 Python C 扩展的场景,包括 SD WebUI 及其插件安装,主要风险是安装包体积较大且需要预留充足磁盘空间。
先说结论:安装 Microsoft C++ Build Tools 并勾选 C++ 生成工具和 Windows SDK 即可解决编译依赖问题。
- 先确认:报错信息明确提示 Microsoft Visual C++ 14.0 or greater is required
- 先处理:下载并安装 Microsoft Visual C++ Build Tools 独立组件
- 再验证:命令行执行 cl 命令确认编译器可用后重试安装
命令速用版
如果网络环境允许,可通过 PowerShell 一键下载安装包,随后手动运行安装程序。
wget https://aka.ms/vs/17/release/vs_BuildTools.exe -o vs_BuildTools.exe
./vs_BuildTools.exe安装完成后,在重新打开的命令行窗口中执行以下命令验证环境:
cl为什么会这样
该错误本质上是 Windows 系统缺少 C++ 编译环境导致的。Python 的某些扩展模块在安装时需要本地编译,而编译过程依赖 Visual C++ 构建工具。从 Visual Studio 2015 对应 VC++ 14.0 版本开始,微软将构建工具作为独立组件提供,不再随 Python 默认安装。Stable Diffusion 依赖的许多底层库包含 C/C++ 代码,pip 安装时若找不到预编译的 wheel 文件,就会尝试本地编译,从而触发此报错。
分步处理
按照以下步骤安装构建工具,确保勾选必要的组件以避免后续报错。
- 下载安装包:访问微软官方 Visual Studio 下载页面,获取 Build Tools for Visual Studio 安装包。若 PowerShell 下载速度慢,建议使用浏览器直接下载。
- 选择工作负载:运行安装程序后,在“工作负载”选项卡中勾选“使用 C++ 的桌面开发”。
- 勾选细分组件:在右侧安装详情中,务必勾选“MSVC v140 - VS 2015 C++ 生成工具”和“Windows 10 SDK”或更高版本的 SDK。
- 完成安装:点击安装按钮等待完成,过程中请保持网络连接稳定。
- 重启终端:安装完成后关闭所有命令行窗口,重新打开新的终端以使环境变量生效。
怎么验证是否生效
安装完成后需确认编译器已正确配置到系统路径。
- 检查编译器版本:在 cmd 或 PowerShell 中输入 cl 命令,若显示 Microsoft (R) C/C++ Optimizing Compiler 版本信息,说明环境已配置正确。
- 重试安装操作:重新执行之前失败的 pip install 命令或 SD 启动脚本,观察是否不再出现 VC++ 缺失报错。
- 检查日志:若仍报错,查看 pip 安装日志中是否仍有 error: Microsoft Visual C++ 14.0 or greater is required 字样。
常见坑
- 组件勾选不全:仅安装主程序而不勾选 Windows SDK 或特定版本的 MSVC 工具集,会导致编译依然失败。
- 环境变量未刷新:安装完成后未重启命令行窗口,系统无法识别新安装的 cl 命令。
- 网络下载失败:安装包较大,网络波动可能导致文件损坏,建议校验文件完整性或使用离线安装包。
- Conda 环境冲突:如果使用 Anaconda 环境,记得在安装构建工具后重新激活虚拟环境,或尝试使用 conda install -c conda-forge 包名称 避开编译过程。
常见问题
必须安装完整的 Visual Studio 吗?
不需要。单独安装 Microsoft C++ Build Tools 即可满足编译需求,占用空间更小。
安装后还需要重启电脑吗?
通常不需要重启电脑,但必须重启命令行终端才能生效。
使用 Conda 可以跳过这个步骤吗?
部分包可以通过 conda install -c conda-forge 包名称 直接安装预编译版本,从而避开本地编译需求。
为什么装了还是报错?
可能是环境路径未配置好,或者需要清理系统注册表中的默认路径设置,建议检查 PATH 环境变量。
参考来源
- 实战指南:如何快速解决 Microsoft Visual C++ 14.0 缺失问题
- Python 依赖包安装失败?手把手教你解决 Microsoft Visual C++ 14.0 缺失问题 (附运行库下载)
- 彻底解决 pip 安装报错:Microsoft Visual C++ 14.0 缺失问题
- Microsoft Visual C++ 14.0 安装提示包缺失如何解决?