Python 3.11.4编译报错:launcher.wixproj无法检测v143构建工具
问题:VS2022(v143)编译Python3.11.4时pyshellext.vcxproj报错MSB8020
背景
使用Visual Studio 2022(平台工具集v143)编译Python 3.11.4,项目其余二进制文件已通过v143成功构建,但执行打包命令时末尾出现错误。
构建命令
Python\Tools\msi\build.bat -x64 --pack
报错详情
项目"D:\build\DE-Python\Python\Tools\msi\launcher\launcher.wixproj"(1)正在节点1上构建"D:\build\DE-Python\Python\PCbuild\pyshellext.vcxproj"(2)(默认目标)。
C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\MSBuild\Microsoft\VC\v170\Microsoft.CppBuild.targets(456,5): error MSB8020: 找不到v143的构建工具(平台工具集='v143')。要使用v143构建工具进行构建,请安装v143构建工具。或者,您可以通过选择项目菜单或右键单击解决方案,然后选择"重新定向解决方案"来升级到当前Visual Studio工具。[D:\build\DE-Python\Python\PCbuild\pyshellext.vcxproj]
系统环境变量
VCIDEInstallDir=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\IDE\VC VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC VCToolsInstallDir=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.36.32532 VCToolsRedistDir=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Redist\MSVC\14.36.32532 VCToolsVersion=14.36.32532 VisualStudioVersion=17.0 VS170COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\Common7\Tools VS2022INSTALLDIR=C:\Program Files\Microsoft Visual Studio\2022\Professional
解决办法
- 检查工具集安装完整性
打开Visual Studio Installer,修改VS2022 BuildTools/Professional版本,在「单个组件」中确认勾选「MSVC v143 - VS 2022 C++ x64/x86生成工具」(对应版本14.36.32532),未勾选则安装该组件。 - 手动指定项目工具集
打开pyshellext.vcxproj文件,找到<PlatformToolset>节点,确认值为v143,若不符则修改;也可通过命令行指定工具集构建:msbuild pyshellext.vcxproj /p:PlatformToolset=v143 /p:Platform=x64 - 统一构建环境
环境变量同时存在BuildTools和Professional版本路径,建议打开VS2022的「x64 Native Tools Command Prompt」,再执行build.bat命令,避免环境路径冲突。
内容的提问来源于stack exchange,提问作者Ashish Shirodkar
相关产品推荐
相关产品推荐

