
本文针对 Windows 系统下使用 VS Code 和虚拟环境(.venv)安装 SciPy 失败的问题,提供一套经过验证的完整解决方案,涵盖环境重建、Python 版本管理、VS Code 配置优化及安全安装命令等关键步骤。
本文针对 Windows 系统下使用 VS Code 和虚拟环境(`.venv`)安装 SciPy 失败的问题,提供一套经过验证的完整解决方案,涵盖环境重建、Python 版本管理、VS Code 配置优化及安全安装命令等关键步骤。
在 Windows 上通过 pip install scipy 在虚拟环境中失败(尤其是报错 subprocess-exited-with-error 或 Could not find vswhere.exe),本质并非 SciPy 本身的问题,而是编译依赖缺失与环境配置错位共同导致的典型现象。SciPy 1.9.1 及更高版本的源码包(.tar.gz)默认尝试本地编译,而 Windows 缺乏必要的 Microsoft C++ Build Tools 和 Visual Studio 构建环境(如 vswhere.exe),导致构建轮子(wheel)失败。
✅ 推荐首选方案:跳过编译,直接安装预编译二进制轮子
确保你使用的是官方 Python.org 下载的 Python(非 Microsoft Store 版),并升级 pip、setuptools 和 wheel:
python -m pip install --upgrade pip setuptools wheel
然后强制从 PyPI 安装预编译的 .whl 文件(无需编译):
python -m pip install scipy
⚠️ 注意:不要指定 scipy==1.9.1 —— 该旧版本已停止维护,且其预编译轮子在较新 Python(如 3.11+)上可能不可用。当前稳定版(如 1.13.x)已全面提供 Windows 兼容的 cp39-cp39, cp311-cp311 等轮子,自动匹配你的 Python 版本和架构。
✅ 若仍失败,请执行以下系统性修复步骤:
重建干净虚拟环境
删除旧 .venv 文件夹,使用最新 Python(建议 Python 3.11.8 或 3.12.x)创建新环境:python -m venv .venv .venv\Scripts\activate python -m pip install --upgrade pip
验证 VS Code 环境选择是否正确
- 打开 VS Code → 按 Ctrl+Shift+P → 输入 “Python: Select Interpreter” → 选择你刚创建的 .venv\Scripts\python.exe
- 点击左侧活动栏的 Python 图标(?),确认当前终端已自动激活该环境(提示符应含 (.venv))
- 务必使用 python -m pip 而非 pip install,避免误装到全局 Python:
python -m pip install scipy numpy # SciPy 依赖 NumPy,建议一并安装
(可选)安装构建工具(仅当必须从源码编译时)
若因特殊需求需编译(如开发调试),请安装 Microsoft C++ Build Tools,勾选 “CMake tools for Visual Studio” 和 “Windows 10/11 SDK”。无需完整 VS 安装。
? 总结与提醒:
- ❌ 避免手动下载 .tar.gz 或硬指定老旧 SciPy 版本;
- ✅ 始终优先信任 pip install scipy 自动匹配预编译轮子的能力;
- ? 在 VS Code 终端中运行 which python(WSL)或 where python(Windows CMD)可快速确认当前 Python 路径;
- ? 工程实践建议:后续项目统一使用 requirements.txt 管理依赖,例如:
numpy>=1.24.0 scipy>=1.12.0 matplotlib>=3.7.0
再执行 python -m pip install -r requirements.txt,确保可复现性。
按此流程操作,95% 以上的 Windows + VS Code + SciPy 安装问题均可一次性解决。