Python version information: Difference between revisions

From ihaveahax's Site
Jump to navigationJump to search
Fedora: add 41
Nix: add 25.11
 
(82 intermediate revisions by the same user not shown)
Line 8: Line 8:
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 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; 10.15 is the minimum starting with 3.14.
 
'''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 15: 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.14.0|a1|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current pre-release'''}}
| {{/tbldl|3.15.0|a2|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current pre-release'''}}
|-
|-
| {{/tbldl|3.13.0|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current'''}}
| {{/tbldl|3.14.0|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current''', Last version to support macOS 10.13 to 10.14}}
|-
|-
| {{/tbldl|3.12.7|w32=1|w64=1|wa64=1|11=1}}
| {{/tbldl|3.13.9|w32=1|w64=1|wa64=1|11=1|notes=Last version to support Windows 8/8.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.12.10|w32=1|w64=1|wa64=1|11=1}}
|-
| {{/tbldl|3.11.9|w32=1|w64=1|wa64=1|11=1|notes=Last version 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 31:
| {{/tbldl|3.9.13|w32=1|w64=1|10.9=1|11=1}}
| {{/tbldl|3.9.13|w32=1|w64=1|10.9=1|11=1}}
|-
|-
| {{/tbldl|3.8.10|w32=1|w64=1|10.9=1|11=1|notes=Last one to support Windows 7}}
| {{/tbldl|3.8.10|w32=1|w64=1|10.9=1|11=1|notes=Last version to support Windows 7}}
|-
|-
| {{/tbldl|3.7.9|w32=1|w64=1|10.9=1}}
| {{/tbldl|3.7.9|w32=1|w64=1|10.9=1}}
Line 54: Line 58:
-->
-->


'''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''' 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.
'''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)|20251028005626}}
Last updated: {{#time:H:i, j F Y (e)|20241027171415}}


EOL does not include Expanded Security Maintenance (ESM).
EOL does not include Expanded Security Maintenance (ESM).


* <s>'''18.04''' (bionic)</s> - '''3.6.9''', 3.7.5, 3.8.0
* <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> (kinetic) - '''3.10.7''', 3.11.0rc2
* <s>22.10 (kinetic)</s> - '''3.10.7''', 3.11.0rc2
* <s>23.04</s> (lunar) - '''3.11.2'''
* <s>23.04 (lunar)</s> - '''3.11.2'''
* <s>23.10</s> (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.04''' (noble) - '''3.12.3'''
* ''24.10'' (oriole) - '''3.12.7''', 3.13.0
* <s>24.10 (oriole)</s> - '''3.12.7''', 3.13.0
* 25.04 (plucky) - '''3.13.3'''
* 25.10 (questing) - '''3.13.7''', 3.14.0
* ''26.04 (resolute)'' - '''3.13.9''', 3.14.0


=== Debian ===
=== Debian ===
 
Last updated: {{#time:H:i, j F Y (e)|20251028010638}}
Last updated: {{#time:H:i, j F Y (e)|20241027171606}}


* <s>9 (stretch)</s> - '''3.5.3''', 2.7.13
* <s>9 (stretch)</s> - '''3.5.3''', 2.7.13
Line 81: Line 86:
* 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.12.6''', 3.13.0
* 13 (trixie) - '''3.13.5'''
* ''14 (forky)'' - '''3.13.9''', 3.14.0


=== Fedora ===
=== Fedora ===
<!-- for f in python3{,.{6,7,8,9,10,11,12,13,14}}; do dnf info $f | grep 'Version  '; done -->
<!-- for f in python3{,.{6,7,8,9,10,11,12,13,14,15}}; do dnf info $f 2>&1 | grep 'Version  '; done | uniq -->
Last updated: {{#time:H:i, j F Y (e)|20241027170255}}
Last updated: {{#time:H:i, j F Y (e)|20251127030125}}


Usually the last two releases are kept up to date with the latest releases.
Usually the last two releases are kept up to date with the latest releases.
Line 93: Line 99:
* <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>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>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.14.0a1, 3.13.0, '''3.12.5''', 3.11.10, 3.10.15, 3.9.20, 3.8.20, 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.0a1, 3.13.0, '''3.12.7''', 3.11.10, 3.10.15, 3.9.20, 3.8.20, 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.0a1, '''3.13.0''', 3.12.7, 3.11.10, 3.10.15, 3.9.20, 3.8.20, 3.6.15
* <s>41</s> - 3.15.0a1t, 3.14.0t, '''3.13.9'''t, 3.12.12, 3.11.14, 3.10.19, 3.9.25, 3.8.20, 3.6.15
* 42 - 3.15.0a1t, 3.14.0t, '''3.13.9'''t, 3.12.12, 3.11.14, 3.10.19, 3.9.25, 3.6.15
* 43 - 3.15.0a2t, '''3.14.0'''t, 3.13.9t, 3.12.12, 3.11.14, 3.10.19, 3.9.25, 3.6.15


=== Red Hat Enterprise Linux and derivatives ===
=== Red Hat Enterprise Linux and derivatives ===
Line 101: Line 109:
The actual versions are checked on Rocky Linux and AlmaLinux.
The actual versions are checked on Rocky Linux and AlmaLinux.


Last updated: {{#time:H:i, j F Y (e)|20241027170956}}
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'''
* 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'''
* 9 - 3.12.1, 3.11.7, '''3.9.18'''
* 10 - '''3.12.9'''


=== Nix ===
=== Nix ===
Last updated: {{#time:H:i, j F Y (e)|20251127025611}}


Last updated: {{#time:H:i, j F Y (e)|20241027170614}}
* <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.0t, 3.13.5t, '''3.12.12''', 3.11.14, 3.10.19
* 25.11 (Yarara) - 3.15.0a2t, 3.14.0t, '''3.13.9t''', 3.12.12, 3.11.14, 3.10.19
* nixpkgs-unstable - 3.15.0a2t, 3.14.0t, '''3.13.9t''', 3.12.12, 3.11.14, 3.10.19
<!--
nix-instantiate --eval --json --strict - --argstr branch nixpkgs-unstable <<'EOF' | jq
{ branch }:


* <s>23.11</s> - 3.13.0b2, 3.12.2, '''3.11.8''', 3.10.14, 3.9.19, 3.8.19
let
* 24.05 - 3.13.0, 3.12.5, '''3.11.9''', 3.10.15, 3.9.20
  pkgs = import (builtins.getFlake "github:NixOS/nixpkgs/${branch}") { };
* nixpkgs-unstable - 3.13.0, '''3.12.6''', 3.11.10, 3.10.15, 3.9.20
  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)
    (getPyVer 315)
  ];
  default = getPyVer 3;
}
EOF
-->


=== Alpine Linux ===
=== Alpine Linux ===
Last updated: {{#time:H:i, j F Y (e)|20251028010326}}


Last updated: {{#time:H:i, j F Y (e)|20241027171825}}
* <s>3.17</s> - '''3.10.15'''
* <s>3.18</s> - '''3.11.12'''
* <s>3.19</s> - '''3.11.14'''
* 3.20 - '''3.12.12'''
* 3.21 - '''3.12.12'''
* 3.22 - '''3.12.12'''


* 3.17 - '''3.10.15'''
<!--=== FreeBSD ===
* 3.18 - '''3.11.10'''
<!--
* 3.19 - '''3.11.10'''
find python versions here: https://cgit.freebsd.org/ports/tree/lang
* 3.20 - '''3.12.7'''
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 131: Line 175:
=== SteamOS ===
=== SteamOS ===


Last updated: {{#time:H:i, j F Y (e)|20241027170647}}
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.6 - '''3.11.7'''
* 3.7 - '''3.13.1'''


=== Xcode (macOS) ===
=== Xcode (macOS) ===
Line 145: Line 190:
* 15 - '''3.9.6'''
* 15 - '''3.9.6'''
* 16 - '''3.9.6'''
* 16 - '''3.9.6'''
* 26 - '''3.9.6'''


=== Homebrew (macOS) ===
=== Homebrew (macOS) ===
Line 172: Line 218:
=== MSys2 (Windows) ===
=== MSys2 (Windows) ===


MSys2 has Python 3.x and 2.x packages for each repository. Similar to Unix, the command is "python3" and "python2".
MSys2 has Python 3.x packages for each repository. Similar to Unix, the command is "python3".


* 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]
* 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]
* 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]
* 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]
* 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]
* 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]
* 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]