pip安装matplotlib遇subprocess-exited-with-error错误求助
解决pip安装matplotlib时contourpy依赖的Meson构建错误
错误核心
安装matplotlib过程中,其依赖的contourpy包通过Meson构建时,因找不到C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe,导致元数据生成失败,具体报错如下:
error: subprocess-exited-with-error × Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [12 lines of output] + meson setup C:\Users\b.wortmann\AppData\Local\Temp\pip-install-7pmrrbge\contourpy_7debe2a9a1c24ff38219b2d21f02273f C:\Users\b.wortmann\AppData\Local\Temp\pip-install-7pmrrbge\contourpy_7debe2a9a1c24ff38219b2d21f02273f\.mesonpy-awpd96gp\build -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --vsenv --native-file=C:\Users\b.wortmann\AppData\Local\Temp\pip-install-7pmrrbge\contourpy_7debe2a9a1c24ff38219b2d21f02273f\.mesonpy-awpd96gp\build\meson-python-native-file.ini The Meson build system Version: 1.2.0 Source dir: C:\Users\b.wortmann\AppData\Local\Temp\pip-install-7pmrrbge\contourpy_7debe2a9a1c24ff38219b2d21f02273f Build dir: C:\Users\b.wortmann\AppData\Local\Temp\pip-install-7pmrrbge\contourpy_7debe2a9a1c24ff38219b2d21f02273f\.mesonpy-awpd96gp\build Build type: native build Project name: contourpy Project version: 1.1.0 ..\..\meson.build:1:0: ERROR: Could not find C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe A full log can be found at C:\Users\b.wortmann\AppData\Local\Temp\pip-install-7pmrrbge\contourpy_7debe2a9a1c24ff38219b2d21f02273f\.mesonpy-awpd96gp\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 × Encountered error while generating package metadata. ╰─> See above for output. note: This is an issue with the package mentioned above, not pip.
解决方案
检查并修复Visual Studio Installer
- 验证
C:\Program Files (x86)\Microsoft Visual Studio\Installer\路径下是否存在vswhere.exe,若不存在,说明Visual Studio安装程序未正确部署。 - 下载并安装Visual Studio Installer,或通过控制面板的「程序和功能」找到已安装的Visual Studio,选择「修改/修复」来补全缺失的组件。
- 验证
手动指定vswhere路径(临时修复)
若vswhere.exe存在但路径不符,设置环境变量指向实际路径后再安装:set VSWHERE_PATH=C:\实际路径\vswhere.exe pip install matplotlib安装预编译的contourpy包
跳过源码构建,直接使用预编译wheel包:pip uninstall -y contourpy pip install contourpy --only-binary :all: pip install matplotlib使用匹配的Visual Studio工具链环境
- 确保Visual Studio已安装「C开发工具」组件(contourpy包含C扩展,需要编译工具链)。
- 打开Visual Studio对应的「x64 Native Tools Command Prompt」(或对应系统架构的命令行),在该环境下执行pip安装命令,确保工具链被Meson正确识别。
内容的提问来源于stack exchange,提问作者Bernhard Wortmann
相关产品推荐
相关产品推荐

