Python 3.14 is not accepted in Branches v20.x, v22.x & v24.x
Note that Python 3.14 is not accepted in Branches v20.x, V22.x & V24.x when using Visual Studio 2022. The error message is:
Please use python3.13 or python3.12 or python3.11 or python3.10 or python3.9 or python3.8 or python3.7 or python3.6.
This is however a separate issue. It also affects building on Linux with Fedora 43 (latest Fedora version) using the system-default version of Python (3.14).
Originally posted by @MikeMcC399 in #60869
cc @nodejs/releasers @nodejs/lts
(Disregard the Visual Studio 2022 bit, that's irrelevant for the Python issue. )
https://github.com/nodejs/node/pull/59983 was marked dont-land-* for 25.x, 24.x, 22.x and 20.x but I think we do want the configure changes on the earlier release lines (provided no compatibility breakage with Python 3.14). I don't think we want the allow-prereleases change to the workflows (maybe that was the reason for the dont-land-* labels?).
@richardlau
I wasn't really sure whether this should be reported as an issue, which is why I just wrote it as a comment in #60869
If you think it would be helpful I can write up steps to reproduce using Fedora 43, which has Python 3.14 as default. It is however simple to install other versions, such as Python 3.13 on Fedora - see https://developer.fedoraproject.org/tech/languages/python/multiple-pythons.html - so a workaround is available in this case.
The usual workaround is to bypass configure and run instead python3 configure.py (or python3.14 configure.py) which avoids any version sniffing. However as Python 3.14 becomes more commonplace, I think at least the more recent Node.js release lines ought to be able to autodetect it.
Should we just backport https://github.com/nodejs/node/pull/59983?