Windows 11下已装VS构建工具仍遇VC++14.0编译报错的解决求助
解决Windows 11下执行
python setup.py build_ext --inplace的VC++版本报错问题 问题场景
执行命令:python setup.py build_ext --inplace
出现如下报错:
running build_ext building 'helloworld' extension error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
已尝试操作:
- 使用过Python 3.10、Anaconda 3.7/3.9版本
- 安装了Visual Studio Build Tools 2022和Visual Studio Community 2022全部组件(约200GB)
- 将
C:\Program Files (x86)\Microsoft Visual Studio 14.0及C:\Program Files (x86)\Microsoft Visual Studio 14.0/Vc添加至系统路径 - 安装了第三方VC redist组件
可行解决方案
1. 修正VC++ Build Tools的工作负载配置
即便安装了全部组件,也可能遗漏了Python编译所需的关键配置:
- 打开Visual Studio Installer,选择"修改"你的Build Tools/Community版本
- 确认勾选**"Desktop development with C++"**工作负载,同时在右侧"可选组件"中勾选:
- MSVC v143 - VS 2022 C++ x64/x86 build tools(匹配你的系统架构)
- Windows 11 SDK(对应你的系统版本)
- C++ CMake tools for Windows
- 若使用Anaconda,额外勾选"Python development"相关组件
- 安装完成后重启电脑
2. 使用VS自带的命令行环境执行编译
打开x64 Native Tools Command Prompt for VS 2022(或x86版本,根据Python架构选择),在该窗口中直接执行python setup.py build_ext --inplace。这个命令行已自动配置好VC++的环境变量,无需手动调整路径。
3. 清理干扰性环境变量
你添加的Visual Studio 14.0路径可能干扰了VS 2022的环境识别:
- 打开系统环境变量设置,删除PATH中所有关于
C:\Program Files (x86)\Microsoft Visual Studio 14.0的条目 - 重启命令行窗口,让环境变量生效
4. Anaconda环境的专属配置
若使用Anaconda,可通过conda包管理器直接配置编译链:
- 激活目标conda环境,执行
conda install m2w64-toolchain(安装MinGW编译链作为替代方案) - 或执行
conda install vs2022_win-64,让conda自动关联VS 2022的编译环境
5. 验证VC++环境有效性
在命令行中执行cl.exe,若能输出VC++编译器版本信息,说明环境配置正确;若提示找不到命令,需手动运行VS的环境配置脚本:
- 找到VS 2022安装目录下的脚本路径,例如
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build - 执行
vcvars64.bat(x64架构)或vcvars32.bat(x86架构),之后再执行Python编译命令
内容的提问来源于stack exchange,提问作者Cave Johnson123
相关产品推荐
相关产品推荐

