setuptools version
70.0.0
Python version
Python 3.12 aarch64
OS
Windows 11 aarch64
Additional environment information
VS2022 Build Tools with MSVC ARM64/ARM64EC option is installed.
> cl /?
Microsoft (R) C/C++ Optimizing Compiler Version 19.40.33813 for ARM64
Copyright (C) Microsoft Corporation. All rights reserved.
> pip --version
pip 24.2 from C:\Users\sasch\AppData\Local\Programs\Python\Python312-arm64\Lib\site-packages\pip (python 3.12)
Description
Building psutil and zstandard fails on setuptools distutils exception: distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
Expected behavior
It should be able to detect ARM64 MSVC.
How to Reproduce
pip install zstandard
... which effectively does:
from setuptools._distutils import ccompiler
compiler = ccompiler.new_compiler()
compiler.initialize()
Output
[33 lines of output]
Traceback (most recent call last):
File "D:\gecko\third_party\python\pip\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 353, in <module>
main()
File "D:\gecko\third_party\python\pip\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\gecko\third_party\python\pip\pip\_vendor\pyproject_hooks\_in_process\_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\sasch\AppData\Local\Temp\pip-build-env-f6yfun9m\overlay\Lib\site-packages\setuptools\build_meta.py", line 327, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=[])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\sasch\AppData\Local\Temp\pip-build-env-f6yfun9m\overlay\Lib\site-packages\setuptools\build_meta.py", line 297, in _get_build_requires
self.run_setup()
File "C:\Users\sasch\AppData\Local\Temp\pip-build-env-f6yfun9m\overlay\Lib\site-packages\setuptools\build_meta.py", line 313, in run_setup
exec(code, locals())
File "<string>", line 126, in <module>
File "<string>", line 105, in uses_msvc
File "C:\Users\sasch\AppData\Local\Temp\pip-build-env-f6yfun9m\overlay\Lib\site-packages\setuptools\_distutils\command\config.py", line 220, in try_compile
self._compile(body, headers, include_dirs, lang)
File "C:\Users\sasch\AppData\Local\Temp\pip-build-env-f6yfun9m\overlay\Lib\site-packages\setuptools\_distutils\command\config.py", line 132, in _compile
self.compiler.compile([src], include_dirs=include_dirs)
File "C:\Users\sasch\AppData\Local\Temp\pip-build-env-f6yfun9m\overlay\Lib\site-packages\setuptools\_distutils\_msvccompiler.py", line 343, in compile
self.initialize()
File "C:\Users\sasch\AppData\Local\Temp\pip-build-env-f6yfun9m\overlay\Lib\site-packages\setuptools\_distutils\_msvccompiler.py", line 253, in initialize
vc_env = _get_vc_env(plat_spec)
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\sasch\AppData\Local\Temp\pip-build-env-f6yfun9m\overlay\Lib\site-packages\setuptools\msvc.py", line 233, in msvc14_get_vc_env
return _msvc14_get_vc_env(plat_spec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\sasch\AppData\Local\Temp\pip-build-env-f6yfun9m\overlay\Lib\site-packages\setuptools\msvc.py", line 190, in _msvc14_get_vc_env
raise distutils.errors.DistutilsPlatformError("Unable to find vcvarsall.bat")
distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
[end of output]
... or with the minimal repro:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\sasch\AppData\Local\Programs\Python\Python312-arm64\Lib\site-packages\setuptools\_distutils\_msvccompiler.py", line 253, in initialize
vc_env = _get_vc_env(plat_spec)
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\sasch\AppData\Local\Programs\Python\Python312-arm64\Lib\site-packages\setuptools\msvc.py", line 233, in msvc14_get_vc_env
return _msvc14_get_vc_env(plat_spec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\sasch\AppData\Local\Programs\Python\Python312-arm64\Lib\site-packages\setuptools\msvc.py", line 190, in _msvc14_get_vc_env
raise distutils.errors.DistutilsPlatformError("Unable to find vcvarsall.bat")
distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/
setuptools version
70.0.0
Python version
Python 3.12 aarch64
OS
Windows 11 aarch64
Additional environment information
VS2022 Build Tools with MSVC ARM64/ARM64EC option is installed.
Description
Building psutil and zstandard fails on setuptools distutils exception:
distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/Expected behavior
It should be able to detect ARM64 MSVC.
How to Reproduce
pip install zstandard... which effectively does:
Output
... or with the minimal repro: