Python version information: Difference between revisions

From ihaveahax's Site
Jump to navigationJump to search
m Installers for Windows and macOS: oh yeah fix links for 2.7.17
3.14 is here
 
(174 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.12.0|rc1|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current pre-release'''}}
| {{/tbldl|3.14.0|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current'''}}
|-
| {{/tbldl|3.13.8|w32=1|w64=1|wa64=1|11=1}}
|-
|-
| {{/tbldl|3.11.5|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current'''}}
| {{/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 25: 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}}
|-
| [https://www.python.org/downloads/release/python-354/ 3.5.4] || {{py-dl|3.5.4|w32}} || {{py-dl|3.5.4|w64}} ||  || {{py-dl|3.5.4|10.6}} ||  ||  ||
|-
|-
| {{/tbldl|3.5.4|w32=1|w64=1|10.6=1}}
| {{/tbldl|3.5.4|w32=1|w64=1|10.6=1}}
Line 38: Line 44:
|}
|}


== Distribution versions ==
For Windows, I made a PowerShell script to install multiple versions at once: [[/RunPythonInstallers.ps1]]


'''Bold''' distribution versions indicates an LTS release (for distros with this distinction).
== Official support status ==


'''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.
https://devguide.python.org/versions/


<s>''Strikethrough''</s> indicates an EOL distribution.
== 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). <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)|20250705220156}}


* <s>'''''18.04''''' (bionic)</s> - '''3.6.9''', 3.7.5, 3.8.0
EOL does not include Expanded Security Maintenance (ESM).
* '''20.04''' (focal) - '''3.8.10''', 3.9.5
 
* <s>'''18.04''' (bionic)</s> - '''3.6.9''', 3.7.5, 3.8.0
* <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
* 22.10 (kinetic) - '''3.10.7''', 3.11.0rc2
* <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'''
* <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.


* 37 - '''3.11.3''', 3.10.12, 3.9.17, 3.8.17, 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
* 38 - '''3.11.3''', 3.10.12, 3.9.17, 3.8.17, 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
* <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.2, 3.9.16, 3.8.16, '''3.6.8''', 2.7.18
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)|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 ===


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)|20250523163255}}


* 3.4 - '''3.10.8'''
* 3.4 - '''3.10.8'''
 
* 3.5 - '''3.11.3'''
=== FreeBSD ===
* 3.6 - '''3.11.7'''
 
* 3.7 - '''3.13.1'''
* 13.2 - 3.11.4, 3.10.12, '''3.9.17''', 3.8.17, 3.7.17


=== Xcode (macOS) ===
=== Xcode (macOS) ===
Line 90: 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 101: Line 194:
=== winget (Windows) ===
=== winget (Windows) ===


winget's repository contains Python versions 2.5 to 2.7 and 3.0 to 3.12. These download the installers from python.org.
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 114: Line 207:


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