Python version information: Difference between revisions
From ihaveahax's Site
Jump to navigationJump to search
→Installers for Windows and macOS: 3.14.0a6 |
|||
(138 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
The one for the latest version in the 3.x series could be outdated until I remember to update it. | The one for the latest version in the 3.x series could be outdated until I remember to update it. | ||
Note about macOS: The version number indicates the SDK used to build it. For macOS 11/Universal 2 binaries, 10.9 is the minimum between 3.8 and 3.12.5; 10.13 is the minimum starting with 3.12.6. | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 13: | Line 15: | ||
! Ver !! w32 !! w64 !! wa64 !! 10.6 !! 10.9 !! 11/u2 !! Notes | ! Ver !! w32 !! w64 !! wa64 !! 10.6 !! 10.9 !! 11/u2 !! Notes | ||
|- | |- | ||
| {{/tbldl|3. | | {{/tbldl|3.14.0|a6|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current pre-release'''}} | ||
|- | |||
| {{/tbldl|3.13.2|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current'''}} | |||
|- | |||
| {{/tbldl|3.12.9|w32=1|w64=1|wa64=1|11=1}} | |||
|- | |- | ||
| {{/tbldl|3.11. | | {{/tbldl|3.11.9|w32=1|w64=1|wa64=1|11=1|notes=Last one to support macOS 10.9 to 10.12}} | ||
|- | |- | ||
| {{/tbldl|3.10.11|w32=1|w64=1|11=1}} | | {{/tbldl|3.10.11|w32=1|w64=1|11=1}} | ||
Line 25: | Line 31: | ||
| {{/tbldl|3.7.9|w32=1|w64=1|10.9=1}} | | {{/tbldl|3.7.9|w32=1|w64=1|10.9=1}} | ||
|- | |- | ||
| {{/tbldl|3.6.8|w32=1|w64=1|10.6=1|10.9=1}} | | {{/tbldl|3.6.8|w32=1|w64=1|10.6=1|10.9=1|notes=3.6.8 and 3.6.7 don't actually work on 10.6, 3.6.6 is the last one that does}} | ||
|- | |- | ||
| {{/tbldl|3.5.4|w32=1|w64=1|10.6=1}} | | {{/tbldl|3.5.4|w32=1|w64=1|10.6=1}} | ||
Line 36: | Line 42: | ||
|} | |} | ||
== | For Windows, I made a PowerShell script to install multiple versions at once: [[/RunPythonInstallers.ps1]] | ||
== Official support status == | |||
https://devguide.python.org/versions/ | |||
== Distribution versions == | |||
<!-- | |||
for myself when i update sections: | |||
Last updated: {{#time:H:i, j F Y (e)|{{subst:REVISIONTIMESTAMP}}}} | |||
--> | |||
<s> | * '''Bold''' distribution versions indicates an LTS release (for distros with this distinction). <s>Strikethrough</s> indicates an EOL distribution. ''Italic'' indicates a beta distribution. | ||
* '''Bold''' Python versions indicates the default one (what you get if you install "python3" or equivalent). This only includes what's in the official repositories. | |||
* A "t" next to a version means a free-threading build is available. | |||
=== Ubuntu === | === Ubuntu === | ||
Last updated: {{#time:H:i, j F Y (e)|20250212181525}} | |||
* <s> | EOL does not include Expanded Security Maintenance (ESM). | ||
* <s>'''18.04''' (bionic)</s> - '''3.6.9''', 3.7.5, 3.8.0 | |||
* '''20.04''' (focal) - '''3.8.10''', 3.9.5 | * '''20.04''' (focal) - '''3.8.10''', 3.9.5 | ||
* '''22.04''' (jammy) - '''3.10.6''', 3.11.0rc1 | * '''22.04''' (jammy) - '''3.10.6''', 3.11.0rc1 | ||
* 22.10 (kinetic) - '''3.10.7''', 3.11.0rc2 | * <s>22.10</s> (kinetic) - '''3.10.7''', 3.11.0rc2 | ||
* 23.04 (lunar) - '''3.11.2''' | * <s>23.04</s> (lunar) - '''3.11.2''' | ||
* <s>23.10</s> (mantic) - '''3.11.6''', 3.12.0 | |||
* '''24.04''' (noble) - '''3.12.3''' | |||
* 24.10 (oriole) - '''3.12.7''', 3.13.0 | |||
* ''25.04'' (plucky) - 3.12.9, '''3.13.2''' | |||
=== Debian === | === Debian === | ||
Last updated: {{#time:H:i, j F Y (e)|20250216035331}} | |||
* <s>9 (stretch)</s> - '''3.5.3''', 2.7.13 | * <s>9 (stretch)</s> - '''3.5.3''', 2.7.13 | ||
* 10 (buster) - '''3.7.3''', 2.7.16 | * <s>10 (buster)</s> - '''3.7.3''', 2.7.16 | ||
* 11 (bullseye) - '''3.9.2''', 2.7.18 | * 11 (bullseye) - '''3.9.2''', 2.7.18 | ||
* 12 (bookworm) - '''3.11.2''' | * 12 (bookworm) - '''3.11.2''' | ||
* ''13 (trixie)'' - '''3.13.2''', 3.12.9 | |||
=== Fedora === | === Fedora === | ||
<!-- for f in python3{,.{6,7,8,9,10,11,12,13,14}}; do dnf info $f | grep 'Version '; done --> | |||
Last updated: {{#time:H:i, j F Y (e)|20250212181947}} | |||
* 37 - '''3.11. | Usually the last two releases are kept up to date with the latest releases. | ||
* 38 - '''3.11.3''', 3.10.12, 3.9. | |||
* <s>35</s> - 3.12.0a2, 3.11.1, '''3.10.8''', 3.9.16, 3.8.16, 3.7.16, 3.6.15 | |||
* <s>36</s> - 3.12.0a7, 3.11.3, '''3.10.11''', 3.9.16, 3.8.16, 3.7.16, 3.6.15 | |||
* <s>37</s> - 3.13.0a2, 3.12.0, '''3.11.5''', 3.10.13, 3.9.18, 3.8.18, 3.7.16, 3.6.15 | |||
* <s>38</s> - 3.13.0b1, 3.12.3, '''3.11.9''', 3.10.14, 3.9.19, 3.8.19, 3.7.17, 3.6.15 | |||
* <s>39</s> - 3.14.0a1t, 3.13.0t, '''3.12.7''', 3.11.10, 3.10.15, 3.9.20, 3.8.20, 3.7.17, 3.6.15 | |||
* 40 - 3.14.0a4t, 3.13.1t, '''3.12.8''', 3.11.11, 3.10.16, 3.9.21, 3.8.20, 3.6.15 | |||
* 41 - 3.14.0a4t, '''3.13.2'''t, 3.12.9, 3.11.11, 3.10.16, 3.9.21, 3.8.20, 3.6.15 | |||
* ''42'' - 3.14.0a4t, '''3.13.2'''t, 3.12.9, 3.11.11, 3.10.16, 3.9.21, 3.8.20, 3.6.15 | |||
=== Red Hat Enterprise Linux and derivatives === | === Red Hat Enterprise Linux and derivatives === | ||
* 8 - 3.11. | The actual versions are checked on Rocky Linux and AlmaLinux. | ||
* 9 - '''3.9.16''', 3.11.2 | |||
Last updated: {{#time:H:i, j F Y (e)|20241027170956}} | |||
* 8 - 3.12.5, 3.11.9, 3.9.20, 3.8.17, '''3.6.8''', '''2.7.18''' | |||
* 9 - 3.12.1, 3.11.7, '''3.9.18''' | |||
=== Nix === | |||
Last updated: {{#time:H:i, j F Y (e)|20250224080349}} | |||
* <s>23.11</s> - 3.13.0b2, 3.12.2, '''3.11.8''', 3.10.14, 3.9.19, 3.8.19 | |||
* <s>24.05</s> - 3.13.1t, 3.12.7, '''3.11.10''', 3.10.15, 3.9.20 | |||
* 24.11 - 3.14.0a4t, 3.13.1t, '''3.12.8''', 3.11.11, 3.10.16, 3.9.21 | |||
* nixpkgs-unstable - 3.14.0a5t, 3.13.2t, '''3.12.9''', 3.11.11, 3.10.16, 3.9.21 | |||
<!-- | |||
nix-instantiate --eval --json --strict - --argstr branch nixpkgs-unstable <<'EOF' | jq | |||
{ branch }: | |||
let | |||
pkgs = import (builtins.getFlake "github:NixOS/nixpkgs/${branch}") { }; | |||
getPyVer = | |||
ver: if pkgs ? "python${toString ver}" then pkgs."python${toString ver}".version else null; | |||
in | |||
{ | |||
versions = [ | |||
(getPyVer 39) | |||
(getPyVer 310) | |||
(getPyVer 311) | |||
(getPyVer 312) | |||
(getPyVer 313) | |||
(getPyVer 314) | |||
]; | |||
default = getPyVer 3; | |||
} | |||
EOF | |||
--> | |||
=== Alpine Linux === | |||
Last updated: {{#time:H:i, j F Y (e)|20250216035616}} | |||
* <s>3.17</s> - '''3.10.15''' | |||
* 3.18 - '''3.11.11''' | |||
* 3.19 - '''3.11.11''' | |||
* 3.20 - '''3.12.9''' | |||
=== FreeBSD === | |||
<!-- | |||
find python versions here: https://cgit.freebsd.org/ports/tree/lang | |||
and the default one here as PYTHON_DEFAULT: https://cgit.freebsd.org/ports/tree/Mk/bsd.default-versions.mk | |||
--> | |||
Last updated: {{#time:H:i, j F Y (e)|20241029213620}} | |||
* 14.1 - '''3.11.10''', 3.10.15, 3.9.20, 3.8.20, 2.7.18 | |||
=== Arch Linux === | === Arch Linux === | ||
Usually updated to the latest release or is one point release behind. https://archlinux.org/packages/core/x86_64/python/ | Usually updated to the latest release or is one point release behind. https://archlinux.org/packages/core/x86_64/python/ | ||
Unlike most other distributions, "python" on Arch Linux refers to 3.x and not 2.7. | |||
=== SteamOS === | === SteamOS === | ||
Last updated: {{#time:H:i, j F Y (e)|20241027170647}} | |||
* 3.4 - '''3.10.8''' | * 3.4 - '''3.10.8''' | ||
* 3.5 - '''3.11.3''' | |||
* 3.6 - '''3.11.7''' | |||
* | |||
=== Xcode (macOS) === | === Xcode (macOS) === | ||
Line 88: | Line 174: | ||
* 14 - '''3.9.6''' | * 14 - '''3.9.6''' | ||
* 15 - '''3.9.6''' | * 15 - '''3.9.6''' | ||
* 16 - '''3.9.6''' | |||
=== Homebrew (macOS) === | === Homebrew (macOS) === | ||
Line 99: | Line 186: | ||
=== winget (Windows) === | === winget (Windows) === | ||
winget's repository contains Python versions 2.5 to 2.7 and 3.0 to 3. | winget's repository contains Python versions 2.5 to 2.7 and 3.0 to 3.13. These download the installers from python.org. | ||
The full list of versions is here: https://github.com/microsoft/winget-pkgs/tree/master/manifests/p/Python/Python | The full list of versions is here: https://github.com/microsoft/winget-pkgs/tree/master/manifests/p/Python/Python | ||
Line 112: | Line 199: | ||
* [https://apps.microsoft.com/store/search?hl=en-us&gl=us&rtc=1&publisher=Python%20Software%20Foundation All PSF apps on the Microsoft Store] | * [https://apps.microsoft.com/store/search?hl=en-us&gl=us&rtc=1&publisher=Python%20Software%20Foundation All PSF apps on the Microsoft Store] | ||
=== MSys2 (Windows) === | |||
MSys2 has Python 3.x and 2.x packages for each repository. Similar to Unix, the command is "python3" and "python2". | |||
* msys: [https://packages.msys2.org/package/python?repo=msys&variant=x86_64 python], [https://packages.msys2.org/package/python2?repo=msys&variant=x86_64 python2] | |||
* clang32: [https://packages.msys2.org/package/mingw-w64-clang-i686-python?repo=clang32 mingw-w64-clang-i686-python], [https://packages.msys2.org/package/mingw-w64-clang-i686-python2?repo=clang32 mingw-w64-clang-i686-python2] | |||
* clang64: [https://packages.msys2.org/package/mingw-w64-clang-x86_64-python?repo=clang64 mingw-w64-clang-x86_64-python], [https://packages.msys2.org/package/mingw-w64-clang-x86_64-python2?repo=clang64 mingw-w64-clang-x86_64-python2] | |||
* clangarm64: [https://packages.msys2.org/package/mingw-w64-clang-aarch64-python?repo=clangarm64 mingw-w64-clang-aarch64-python], [https://packages.msys2.org/package/mingw-w64-clang-aarch64-python2?repo=clangarm64 mingw-w64-clang-aarch64-python2] | |||
* mingw32: [https://packages.msys2.org/package/mingw-w64-i686-python?repo=mingw32 mingw-w64-i686-python], [https://packages.msys2.org/package/mingw-w64-i686-python2?repo=mingw32 mingw-w64-i686-python2] | |||
* mingw64: [https://packages.msys2.org/package/mingw-w64-x86_64-python?repo=mingw64 mingw-w64-x86_64-python], [https://packages.msys2.org/package/mingw-w64-x86_64-python2?repo=mingw64 mingw-w64-x86_64-python2] | |||
* ucrt64: [https://packages.msys2.org/package/mingw-w64-ucrt-x86_64-python?repo=ucrt64 mingw-w64-ucrt-x86_64-python], [https://packages.msys2.org/package/mingw-w64-ucrt-x86_64-python2?repo=ucrt64 mingw-w64-ucrt-x86_64-python2] |