Python version information: Difference between revisions
→Installers for Windows and macOS: 3.13.0a2 |
|||
(137 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|b2|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current pre-release'''}} | ||
|- | |||
| {{/tbldl|3.13.4|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current'''}} | |||
|- | |- | ||
| {{/tbldl|3.12. | | {{/tbldl|3.12.10|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 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. | |||
'''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)|20250523165519}} | |||
EOL does not include Expanded Security Maintenance (ESM). | 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 | * '''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 | ||
* <s>22.10</s> (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''' | ||
* 23.10 (mantic) - '''3.11.6''', 3.12.0 | * <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.13.3''' | |||
* ''25.10 (quokka)'' - '''3.13.3''', 3.14.0b1 | |||
=== Debian === | === Debian === | ||
Last updated: {{#time:H:i, j F Y (e)|20250523164510}} | |||
* <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.3''' | |||
=== 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)|20250523163842}} | |||
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.0b1t, '''3.13.3'''t, 3.12.10, 3.11.12, 3.10.17, 3.9.22, 3.8.20, 3.6.15 | |||
* 42 - 3.14.0b1t, '''3.13.3'''t, 3.12.10, 3.11.12, 3.10.17, 3.9.22, 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)|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)|20250523163147}} | |||
* <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 | |||
* 24.11 (Vicuña) - 3.14.0a4t, 3.13.1t, '''3.12.8''', 3.11.11, 3.10.16, 3.9.21 | |||
* 25.05 (Warbler) - 3.14.0b1t, 3.13.3t, '''3.12.10''', 3.11.12, 3.10.17 | |||
* nixpkgs-unstable - 3.14.0b1t, 3.13.3t, '''3.12.10''', 3.11.12, 3.10.17 | |||
<!-- | |||
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 88: | Line 165: | ||
=== 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 105: | Line 180: | ||
* 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 116: | Line 192: | ||
=== 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 |
Latest revision as of 06:26, 7 June 2025
Last edited at 06:26, 7 June 2025 (UTC)
Installers for Windows and macOS
This is a list of the last Python versions that had installers for Windows and macOS.
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 Python install manager will replace the traditional executable installer starting with 3.16. This installer requires Windows 10 or Windows Server 2022 or later.
Ver | w32 | w64 | wa64 | 10.6 | 10.9 | 11/u2 | Notes |
---|---|---|---|---|---|---|---|
3.14.0b2 | 📦 | 📦 | 📦 | 📦 | current pre-release | ||
3.13.4 | 📦 | 📦 | 📦 | 📦 | current | ||
3.12.10 | 📦 | 📦 | 📦 | 📦 | |||
3.11.9 | 📦 | 📦 | 📦 | 📦 | Last one to support macOS 10.9 to 10.12 | ||
3.10.11 | 📦 | 📦 | 📦 | ||||
3.9.13 | 📦 | 📦 | 📦 | 📦 | |||
3.8.10 | 📦 | 📦 | 📦 | 📦 | Last one to support Windows 7 | ||
3.7.9 | 📦 | 📦 | 📦 | ||||
3.6.8 | 📦 | 📦 | 📦 | 📦 | 3.6.8 and 3.6.7 don't actually work on 10.6, 3.6.6 is the last one that does | ||
3.5.4 | 📦 | 📦 | 📦 | ||||
3.4.4 | 📦 | 📦 | 📦 | Last version to support Windows XP | |||
2.7.18 | 📦 | 📦 | 📦 | Last version of 2.x | |||
2.7.17 | 📦 | 📦 | 📦 | 📦 | 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
https://devguide.python.org/versions/
Distribution versions
- Bold distribution versions indicates an LTS release (for distros with this distinction).
Strikethroughindicates 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: 16:55, 23 May 2025 (UTC)
EOL does not include Expanded Security Maintenance (ESM).
18.04 (bionic)- 3.6.9, 3.7.5, 3.8.0- 20.04 (focal) - 3.8.10, 3.9.5
- 22.04 (jammy) - 3.10.6, 3.11.0rc1
22.10(kinetic) - 3.10.7, 3.11.0rc223.04(lunar) - 3.11.223.10(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.13.3
- 25.10 (quokka) - 3.13.3, 3.14.0b1
Debian
Last updated: 16:45, 23 May 2025 (UTC)
9 (stretch)- 3.5.3, 2.7.1310 (buster)- 3.7.3, 2.7.16- 11 (bullseye) - 3.9.2, 2.7.18
- 12 (bookworm) - 3.11.2
- 13 (trixie) - 3.13.3
Fedora
Last updated: 16:38, 23 May 2025 (UTC)
Usually the last two releases are kept up to date with the latest releases.
35- 3.12.0a2, 3.11.1, 3.10.8, 3.9.16, 3.8.16, 3.7.16, 3.6.1536- 3.12.0a7, 3.11.3, 3.10.11, 3.9.16, 3.8.16, 3.7.16, 3.6.1537- 3.13.0a2, 3.12.0, 3.11.5, 3.10.13, 3.9.18, 3.8.18, 3.7.16, 3.6.1538- 3.13.0b1, 3.12.3, 3.11.9, 3.10.14, 3.9.19, 3.8.19, 3.7.17, 3.6.1539- 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.1540- 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.0b1t, 3.13.3t, 3.12.10, 3.11.12, 3.10.17, 3.9.22, 3.8.20, 3.6.15
- 42 - 3.14.0b1t, 3.13.3t, 3.12.10, 3.11.12, 3.10.17, 3.9.22, 3.6.15
Red Hat Enterprise Linux and derivatives
The actual versions are checked on Rocky Linux and AlmaLinux.
Last updated: 05:04, 28 May 2025 (UTC)
- 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: 16:31, 23 May 2025 (UTC)
23.11 (Tapir)- 3.13.0b2, 3.12.2, 3.11.8, 3.10.14, 3.9.19, 3.8.1924.05 (Uakari)- 3.13.1t, 3.12.7, 3.11.10, 3.10.15, 3.9.20- 24.11 (Vicuña) - 3.14.0a4t, 3.13.1t, 3.12.8, 3.11.11, 3.10.16, 3.9.21
- 25.05 (Warbler) - 3.14.0b1t, 3.13.3t, 3.12.10, 3.11.12, 3.10.17
- nixpkgs-unstable - 3.14.0b1t, 3.13.3t, 3.12.10, 3.11.12, 3.10.17
Alpine Linux
Last updated: 16:48, 23 May 2025 (UTC)
3.17- 3.10.153.18- 3.11.12- 3.19 - 3.11.12
- 3.20 - 3.12.10
- 3.21 - 3.12.10
FreeBSD
Last updated: 21:36, 29 October 2024 (UTC)
- 14.1 - 3.11.10, 3.10.15, 3.9.20, 3.8.20, 2.7.18
Arch Linux
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
Last updated: 16:32, 23 May 2025 (UTC)
- 3.4 - 3.10.8
- 3.5 - 3.11.3
- 3.6 - 3.11.7
- 3.7 - 3.13.1
Xcode (macOS)
Comes with the Command Line Tools and the full Xcode.app. The binary at /usr/bin/python3
depends on either being installed, like most of the development tools. If neither are installed, it automatically prompts for the Command Line Tools.
- 13 - 3.8.9
- 14 - 3.9.6
- 15 - 3.9.6
- 16 - 3.9.6
Homebrew (macOS)
Homebrew keeps the latest versions of each one supported by the PSF, excluding pre-releases.
MacPorts (macOS)
MacPorts has versions 3.2 to the latest stable release.
winget (Windows)
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
winget can also install the Microsoft Store versions.
Microsoft Store (Windows)
Since 3.7 and Windows 10 version 1903, Python is available from the Microsoft Store. Unlike the one from the installer, this is accessed with "python" and "python3", not "py".
These versions are sandboxed and may not work when you want to use it with other applications.
MSys2 (Windows)
MSys2 has Python 3.x and 2.x packages for each repository. Similar to Unix, the command is "python3" and "python2".
- msys: python, python2
- clang32: mingw-w64-clang-i686-python, mingw-w64-clang-i686-python2
- clang64: mingw-w64-clang-x86_64-python, mingw-w64-clang-x86_64-python2
- clangarm64: mingw-w64-clang-aarch64-python, mingw-w64-clang-aarch64-python2
- mingw32: mingw-w64-i686-python, mingw-w64-i686-python2
- mingw64: mingw-w64-x86_64-python, mingw-w64-x86_64-python2
- ucrt64: mingw-w64-ucrt-x86_64-python, mingw-w64-ucrt-x86_64-python2