Uh oh!
There was an error while loading. Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork 34.4k
[v14.x] build: support Python 3.11#45231
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
Conversation
PR-URL: nodejs#45191 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Christian Clauss <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]>
PR-URL: nodejs#45191 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Moshe Atlow <[email protected]> Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Christian Clauss <[email protected]> Reviewed-By: Yagiz Nizipli <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: Juan José Arboleda <[email protected]>
nodejs-github-bot commented Oct 29, 2022
Review requested:
|
nodejs-github-bot commented Oct 29, 2022
| * Python (see note above) | ||
| * Python 2.7 | ||
| * Python 3.5, 3.6, 3.7, 3.8, 3.9 or 3.10 (see note above) | ||
| * Python >=3.5 <=3.11 (see note above) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We use f-strings and will not run on Python 3.5.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In Node.js 14? I don't think we've backported anything using f-strings there. Node.js 14 is in maintenance and going End-of-Life in April 2023 -- this PR is needed to build Node.js 14 on systems that have update to Python 3.11.
| *`gcc` and `g++` >= 6.3 or newer, or | ||
| * GNU Make 3.81 or newer | ||
| * Python (see note above) | ||
| * Python 2.7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Legacy Python?!?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is Node.js 14, which goes End-of-Life in April 2023. We dropped legacy Python for Node.js 16 but 14 was the last release where we supported building with both legacy Python and Python 3 -- this PR merely allows the scripts to use Python 3.11.
Uh oh!
There was an error while loading. Please reload this page.
richardlau commented Oct 29, 2022
It looks like the old version of node-gyp in the old version of npm doesn't work with Python 3.11 👀 😞 |
richardlau commented Oct 29, 2022
Given that Node.js 14 is in maintenance and it appears that Python 3.11 introduces incompatibilities with the older versions of node-gyp in npm in Node.js 14 it seems the least risky thing is to not add support for building with Python 3.11 for Node.js 14. We'll need to figure out a way of pinning Python in our Windows CI hosts to Python 3.10 (at least for Node.js 14) to unbreak the CI for Node.js 14. cc @nodejs/platform-windows @nodejs/build-infra |
targos commented Oct 30, 2022
FWIW on my Windows machine I installed Python from the Microsoft Store, where you can pin to a minor version number (the app is available multiple times, for example Python 3.10). |
cclauss commented Oct 30, 2022 • edited
Loading Uh oh!
There was an error while loading. Please reload this page.
edited
Uh oh!
There was an error while loading. Please reload this page.
Backport of #45191 to v14.x.