Python version information: Difference between revisions
From ihaveahax's Site
Jump to navigationJump to search
3.14 is here |
|||
(156 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. | |||
'''Note about Windows:''' The [https://docs.python.org/dev/using/windows.html Python install manager] will replace the traditional executable installer starting with 3.16. This installer requires Windows 10 or Windows Server 2022 or later. | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 13: | Line 17: | ||
! 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|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current'''}} | ||
|- | |- | ||
| {{/tbldl|3. | | {{/tbldl|3.13.8|w32=1|w64=1|wa64=1|11=1}} | ||
|- | |- | ||
| {{/tbldl|3.11. | | {{/tbldl|3.12.10|w32=1|w64=1|wa64=1|11=1}} | ||
|- | |||
| {{/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 27: | Line 33: | ||
| {{/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 37: | Line 43: | ||
| [https://www.python.org/downloads/release/python-2717/ 2.7.17] || {{/dlold|2.7.17|w32}} || {{/dlold|2.7.17|w64}} || || {{py-dl|2.7.17|10.6}} || {{py-dl|2.7.17|10.9}} || || Last version with 32/64 macOS installer | | [https://www.python.org/downloads/release/python-2717/ 2.7.17] || {{/dlold|2.7.17|w32}} || {{/dlold|2.7.17|w64}} || || {{py-dl|2.7.17|10.6}} || {{py-dl|2.7.17|10.9}} || || Last version with 32/64 macOS installer | ||
|} | |} | ||
For Windows, I made a PowerShell script to install multiple versions at once: [[/RunPythonInstallers.ps1]] | |||
== Official support status == | == Official support status == | ||
Line 43: | Line 51: | ||
== Distribution versions == | == Distribution versions == | ||
<!-- | |||
for myself when i update sections: | |||
Last updated: {{#time:H:i, j F Y (e)|{{subst:REVISIONTIMESTAMP}}}} | |||
--> | |||
'''Bold''' distribution versions indicates an LTS release (for distros with this distinction). | * '''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 === | |||
Last updated: {{#time:H:i, j F Y (e)|20250705220156}} | |||
EOL does not include Expanded Security Maintenance (ESM). | |||
* <s> | * <s>'''18.04''' (bionic)</s> - '''3.6.9''', 3.7.5, 3.8.0 | ||
* '''20.04''' (focal) - '''3.8.10''', 3.9.5 | * <s>'''20.04''' (focal)</s> - '''3.8.10''', 3.9.5 | ||
* '''22.04''' (jammy) - '''3.10.6''', 3.11.0rc1 | * '''22.04''' (jammy) - '''3.10.6''', 3.11.0rc1 | ||
* <s>22.10</s> | * <s>22.10 (kinetic)</s> - '''3.10.7''', 3.11.0rc2 | ||
* 23.04 (lunar) - '''3.11.2''' | * <s>23.04 (lunar)</s> - '''3.11.2''' | ||
* 23.10 (mantic) - '''3.11.6''', 3.12.0 | * <s>23.10 (mantic)</s> - '''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.13.3''' | |||
* ''25.10 (quokka)'' - '''3.13.5''', 3.14.0b3 | |||
=== Debian === | === Debian === | ||
Last updated: {{#time:H:i, j F Y (e)|20250810035719}} | |||
* <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.5''' | |||
=== 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)|20250705220601}} | |||
Usually the last two releases are kept up to date with the latest releases. | |||
* <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>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>36</s> - 3.12.0a7, 3.11.3, '''3.10.11''', 3.9.16, 3.8.16, 3.7.16, 3.6.15 | ||
* 37 - 3.12.0, '''3.11.5''', 3.10.13, 3.9.18, 3.8.18, 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 | ||
* 38 - 3.12. | * <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 | ||
* 39 - '''3.12. | * <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 | ||
* <s>40</s> - 3.14.0a7t, 3.13.3t, '''3.12.10''', 3.11.12, 3.10.17, 3.9.21, 3.8.20, 3.6.15 | |||
* 41 - 3.14.0b3t, '''3.13.5'''t, 3.12.11, 3.11.13, 3.10.18, 3.9.23, 3.8.20, 3.6.15 | |||
* 42 - 3.14.0b3t, '''3.13.5'''t, 3.12.11, 3.11.13, 3.10.18, 3.9.23, 3.6.15 | |||
* ''43'' - '''3.14.0b3'''t, 3.13.5t, 3.12.11, 3.10.18, 3.9.23, 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. | |||
Last updated: {{#time:H:i, j F Y (e)|20250528050431}} | |||
* 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''' | |||
* 10 - '''3.12.9''' | |||
=== Nix === | |||
Last updated: {{#time:H:i, j F Y (e)|20250715035945}} | |||
* <s>23.11 (Tapir)</s> - 3.13.0b2, 3.12.2, '''3.11.8''', 3.10.14, 3.9.19, 3.8.19 | |||
* <s>24.05 (Uakari)</s> - 3.13.1t, 3.12.7, '''3.11.10''', 3.10.15, 3.9.20 | |||
* <s>24.11 (Vicuña)</s> - 3.14.0a4t, 3.13.1t, '''3.12.8''', 3.11.11, 3.10.16, 3.9.21 | |||
* 25.05 (Warbler) - 3.14.0b4t, 3.13.4t, '''3.12.11''', 3.11.13, 3.10.18 | |||
* nixpkgs-unstable - 3.14.0b4t, '''3.13.4t''', 3.12.11, 3.11.13, 3.10.18 | |||
<!-- | |||
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 310) | |||
(getPyVer 311) | |||
(getPyVer 312) | |||
(getPyVer 313) | |||
(getPyVer 314) | |||
]; | |||
default = getPyVer 3; | |||
} | |||
EOF | |||
--> | |||
=== Alpine Linux === | |||
Last updated: {{#time:H:i, j F Y (e)|20250523164841}} | |||
* <s>3.17</s> - '''3.10.15''' | |||
* <s>3.18</s> - '''3.11.12''' | |||
* 3.19 - '''3.11.12''' | |||
* 3.20 - '''3.12.10''' | |||
* 3.21 - '''3.12.10''' | |||
<!--=== 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 === | ||
Line 86: | Line 166: | ||
=== SteamOS === | === SteamOS === | ||
Last updated: {{#time:H:i, j F Y (e)|20250523163255}} | |||
* 3.4 - '''3.10.8''' | * 3.4 - '''3.10.8''' | ||
* 3.5 - '''3.11.3''' | * 3.5 - '''3.11.3''' | ||
* 3.6 - '''3.11.7''' | |||
* 3.7 - '''3.13.1''' | |||
* | |||
=== Xcode (macOS) === | === Xcode (macOS) === | ||
Line 103: | Line 181: | ||
* 14 - '''3.9.6''' | * 14 - '''3.9.6''' | ||
* 15 - '''3.9.6''' | * 15 - '''3.9.6''' | ||
* 16 - '''3.9.6''' | |||
* 26 - '''3.9.6''' | |||
=== Homebrew (macOS) === | === Homebrew (macOS) === | ||
Line 114: | Line 194: | ||
=== 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 133: | Line 213: | ||
* 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] | * 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] | ||
* 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] | * 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] | * 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] |