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

执行pip3 install numpy时触发Preparing metadata错误,求解决办法

解决pip安装numpy时的Preparing metadata错误(mingw_x86_64平台)

问题核心

执行pip3 install numpy时触发以下错误:

  • 核心报错:AttributeError: 'NoneType' object has no attribute 'endswith'
  • 伴随提示:Unknown Windows Python platform 'mingw_x86_64'

原因是numpy依赖的Meson构建工具无法识别Windows下的mingw_x86_64 Python平台,导致架构检测返回None,进而触发endswith调用失败。

解决方案

1. 使用MSYS2包管理器安装(推荐)

MSYS2自带针对mingw编译好的numpy包,完全适配当前环境:

pacman -S mingw-w64-x86_64-python-numpy

2. 强制pip使用预编译wheel包

避免从源码编译,让pip直接下载适配的预编译wheel:

# 先确保wheel工具已安装
pip install wheel
# 强制使用预编译包安装numpy
pip install numpy --only-binary :all:

3. 切换至Windows官方CPython环境

如果非必须使用mingw Python,可替换为python.org下载的官方CPython,之后直接执行:

pip install numpy

官方CPython不存在平台识别问题,兼容性更稳定。

4. 临时修复Meson源码(不推荐)

若必须从源码编译,可临时修改Meson的平台检测逻辑:

  • 找到临时安装目录下的文件:C:\Users\ASUS\AppData\Local\Temp\pip-install-xxxx\numpy_xxxx\vendored-meson\meson\mesonbuild\dependencies\python.py
  • 定位到报错行(约224行):
    if mesonlib.is_windows() and self.get_windows_python_arch().endswith('64') and mesonlib.version_compare(self.version, '<3.12'):
    
  • 修改为:
    if mesonlib.is_windows() and (self.get_windows_python_arch() is not None and self.get_windows_python_arch().endswith('64')) and mesonlib.version_compare(self.version, '<3.12'):
    
  • 重新执行pip3 install numpy
    (注:临时目录会被pip清理,此方法仅作应急使用)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 04:10:25