You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

2023年Windows 10系统下SciPy安装失败的解决求助

解决Windows 10下pip安装SciPy时的编译器错误问题

问题背景

执行pip install scipy(含--upgrade等变体,且pip已更新至最新版)时出现如下错误:

× Preparing metadata (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [13 lines of output]
    + meson setup --prefix=C:\users\w\appdata\local\programs\python\python38-32 C:\Users\w\AppData\Local\Temp\pip-install-bf55dgso\scipy_82bfcabbf1854ff981dec7247a79719c C:\Users\w\AppData\Local\Temp\pip-install-bf55dgso\scipy_82bfcabbf1854ff981dec7247a79719c\.mesonpy-wjzxo0cz\build --native-file=C:\Users\w\AppData\Local\Temp\pip-install-bf55dgso\scipy_82bfcabbf1854ff981dec7247a79719c\.mesonpy-native-file.ini -Ddebug=false -Doptimization=2
    The Meson build system
    Version: 1.2.1
    Source dir: C:\Users\w\AppData\Local\Temp\pip-install-bf55dgso\scipy_82bfcabbf1854ff981dec7247a79719c
    Build dir: C:\Users\w\AppData\Local\Temp\pip-install-bf55dgso\scipy_82bfcabbf1854ff981dec7247a79719c\.mesonpy-wjzxo0cz\build
    Build type: native build
    Project name: SciPy
    Project version: 1.10.1
    Activating VS 16.3.9
   
    ..\..\meson.build:1:0: ERROR: Compiler cl cannot compile programs.
   
    A full log can be found at C:\Users\w\AppData\Local\Temp\pip-install-bf55dgso\scipy_82bfcabbf1854ff981dec7247a79719c\.mesonpy-wjzxo0cz\build\meson-logs\meson-log.txt
    [end of output]

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

该问题根源在于Windows系统缺少适配的C++编译器,导致pip尝试从源码编译SciPy失败;原常用的第三方预编译包渠道已失效,以下为可靠的官方/官方维护渠道解决方案:


解决方案1:安装官方Microsoft Visual C++ Build Tools

这是解决Windows下Python编译依赖问题的官方标准方案:

  • 从微软官方渠道下载并安装Microsoft Visual C++ Build Tools,安装时务必勾选「Desktop development with C++」工作负载,确保包含MSVC编译器、Windows SDK等核心组件。
  • 安装完成后,重启终端(或直接打开Visual Studio提供的「开发者命令提示符」,该环境会自动配置好编译器相关的环境变量),再执行pip install scipy即可。

解决方案2:使用Conda安装预编译包

Conda生态提供官方预编译的SciPy包,无需自行编译:

  • 若已安装Anaconda或Miniconda,直接在终端执行conda install scipy,Conda会自动处理所有依赖并完成安装。
  • 未安装Conda的话,从官方渠道下载Miniconda(轻量版)完成安装后,再执行上述命令即可。

解决方案3:强制pip使用PyPI官方预编译Wheel包

目前SciPy在PyPI上提供了官方预编译的Windows二进制包,可强制pip优先使用这些包而非源码编译:

  • 确保你的Python版本与预编译包兼容(注意32位/64位匹配,若使用32位Python需对应32位的预编译包)。
  • 执行命令:pip install scipy --only-binary :all:,该命令会强制pip从PyPI获取预编译的二进制包,跳过源码编译流程。

内容的提问来源于stack exchange,提问作者Will Will

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 23:25:33