-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
Update min python version from 3.6 to 3.8 #23417
base: main
Are you sure you want to change the base?
Conversation
149e10e
to
77ffc22
Compare
What is the advantage of this? |
Another relevant place would still be MacOS, right? It doesn't include a Python on the system anymore but XCode command line tools (which I would expect many/most of our developers to have) includes python 3.9.6. So that would probably be ok for this too. I would also be curious to know what new things we want in Python 3.8 that aren't in 3.6. |
Does install Xcode put that python on the PATH? In any case that works for this change. I'm also generally less concerned about macOS since we include our own copy of python in emsdk for macOS.
Aside from the two small changes you see in this PR, not much I guess. |
Nothing major, just add a few more features we can use. One problem we have today is that we don't actually test on 3.6 or 3.7 so stating that we support 3.6 could be a lie. Maybe better to set the minimum to something we actually test against? |
I added some rationale to the PR description. I'm also happy to just delay this until we have some better reasons.. |
Yes, it's in /usr/bin/python3 for me. |
If the python features are worth it then I'm ok with this change. They do seem nice, if minor. What I don't have is a good idea of the risk of existing users having 3.6 installed, say in various linux distros. Do you? |
Not really, I only looked at ubuntu and debian. Perhaps I'll reach on the mailing list. |
The reason for picking 3.8 here is that it provides all the features we currently have need of, and it available in the places we care about: - debian/stable (bookworm): 3.11 - ubuntu/LTS (focal): 3.8 - emsdk: 3.9.2 Replaces: emscripten-core#23378 Fixes: emscripten-core#23387
I'm not sure how to generate a list of all python version from all distros, but I think using ubuntu/LTS and debian/stable as a baseline is probably good signal. Also, it should be noted that python3.8 itself (our new shiny version) is already EOL upstream: https://devguide.python.org/versions/ |
RHEL appears to support several python versions; 3.6 is the default but 8-12 seem to be available. |
Interesting I googled RHEL 8 and got "In RHEL 8, Python 3.6 is the default, fully supported version of Python". I don't know if RHEL 8 is the current version though? Or if its used by the machines that ppl use to run emcc on? |
No idea about the latter question, I just know RHEL is a popular distribution for enterprises. |
The reason for picking 3.8 here is that it provides all the features we currently have need of, and it available in the places we care about:
The motivation for this change is twofold:
Replaces: #23378
Fixes: #23387