Python 3.9安装magenta时python setup.py bdist_wheel执行失败
问题详情
在Python 3.9.12环境执行pip install magenta时,构建llvmlite的wheel阶段出现错误,提示找不到兼容的CMake生成器、无法运行MSBuild.exe、找不到Visual Studio实例。已确认llvmlite 0.38.1与numba 0.55.1兼容,且CMake为最新版本,但问题仍未解决。
错误日志
Building wheels for collected packages: llvmlite Created temporary directory: C:\Users\ricar\AppData\Local\Temp\pip-wheel-2h8aaubh Building wheel for llvmlite (setup.py) ... Destination directory: C:\Users\ricar\AppData\Local\Temp\pip-wheel-2h8aaubh Running command python setup.py bdist_wheel running bdist_wheel C:\Users\ricar\anaconda3\python.exe C:\Users\ricar\AppData\Local\Temp\pip-install-9fq4zbfc\llvmlite_66cdc9c78f06483abf4ae29b277713c0\ffi\build.py -- Selecting Windows SDK version to target Windows 10.0.19044. CMake Error at CMakeLists.txt:3 (project): Failed to run MSBuild command: MSBuild.exe to get the value of VCTargetsPath: 系统找不到指定的文件 -- Configuring incomplete, errors occurred! See also "C:/Users/ricar/AppData/Local/Temp/tmp0f_7kimx/CMakeFiles/CMakeOutput.log". CMake Error at CMakeLists.txt:3 (project): Generator Visual Studio 15 2017 Win64 could not find any instance of Visual Studio. -- Configuring incomplete, errors occurred! See also "C:/Users/ricar/AppData/Local/Temp/tmp1bsukddp/CMakeFiles/CMakeOutput.log". Trying generator 'Visual Studio 14 2015 Win64' Trying generator 'Visual Studio 15 2017 Win64' Traceback (most recent call last): File "C:\Users\ricar\AppData\Local\Temp\pip-install-9fq4zbfc\llvmlite_66cdc9c78f06483abf4ae29b277713c0\ffi\build.py", line 192, in <module> main() File "C:\Users\ricar\AppData\Local\Temp\pip-install-9fq4zbfc\llvmlite_66cdc9c78f06483abf4ae29b277713c0\ffi\build.py", line 180, in main main_win32() File "C:\Users\ricar\AppData\Local\Temp\pip-install-9fq4zbfc\llvmlite_66cdc9c78f06483abf4ae29b277713c0\ffi\build.py", line 89, in main_win32 generator = find_win32_generator() File "C:\Users\ricar\AppData\Local\Temp\pip-install-9fq4zbfc\llvmlite_66cdc9c78f06483abf4ae29b277713c0\ffi\build.py", line 85, in find_win32_generator raise RuntimeError("No compatible cmake generator installed on this machine") RuntimeError: No compatible cmake generator installed on this machine error: command 'C:\\Users\\ricar\\anaconda3\\python.exe' failed with exit code 1 error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> 查看上面的输出获取详情。
解决方案
安装Visual Studio桌面开发组件
下载Visual Studio Community版(免费),安装时务必勾选「使用C++的桌面开发」模块,这个模块包含了MSBuild.exe和CMake所需的Visual Studio生成器。安装完成后重启电脑,确保环境变量生效。手动指定CMake生成器
如果已经安装Visual Studio但仍报错,可在执行安装命令前手动设置对应版本的生成器环境变量。比如安装了Visual Studio 2022,执行:set CMAKE_GENERATOR="Visual Studio 17 2022 Win64"之后再运行
pip install magenta。使用预编译的llvmlite wheel包
直接下载对应Python 3.9、Windows 64位的llvmlite预编译wheel文件,先手动安装:pip install llvmlite-0.38.1-cp39-none-win_amd64.whl完成后再执行
pip install magenta,跳过编译步骤。检查MSBuild路径是否在环境变量中
确认MSBuild.exe的路径已添加到系统PATH。以Visual Studio 2022 Community为例,路径通常是C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin,添加后重启命令行工具再尝试安装。
内容的提问来源于stack exchange,提问作者ricmhl

