Python version information: Difference between revisions
From ihaveahax's Site
Jump to navigationJump to search
Created page with "This is a list of the last Python versions that had installers for Windows and macOS. * [https://www.python.org/downloads/ 3.11.X] (current, first with Windows ARM64) * [https://www.python.org/downloads/release/python-31011/ 3.10.11] * [https://www.python.org/downloads/release/python-3913/ 3.9.13] (last with macOS Intel-only) * [https://www.python.org/downloads/release/python-3810/ 3.8.10] (first with macOS universal2) * [https://www.python.org/downloads/release/python-..." |
→Installers for Windows and macOS: 3.14.0a6 |
||
(168 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<span style="float: right">__TOC__</span> | |||
Last edited at {{#time:H:i, j F Y (e)|{{REVISIONTIMESTAMP}}}} | |||
== Installers for Windows and macOS == | |||
This is a list of the last Python versions that had 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. | |||
* [https:// | |||
* [https:// | {| class="wikitable" | ||
* [https:// | |+ Quick installer links | ||
* [https:// | |- | ||
! Ver !! w32 !! w64 !! wa64 !! 10.6 !! 10.9 !! 11/u2 !! Notes | |||
|- | |||
| {{/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.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.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.7.9|w32=1|w64=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}} | |||
|- | |||
| [https://www.python.org/downloads/release/python-344/ 3.4.4] || {{/dlold|3.4.4|w32}} || {{/dlold|3.4.4|w64}} || || {{py-dl|3.4.4|10.6}} || || || Last version to support Windows XP | |||
|- | |||
| [https://www.python.org/downloads/release/python-2718/ 2.7.18] || {{/dlold|2.7.18|w32}} || {{/dlold|2.7.18|w64}} || || || {{py-dl|2.7.18|10.9}} || || Last version of 2.x | |||
|- | |||
| [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 == | |||
https://devguide.python.org/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). <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)|20250212181525}} | |||
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 | |||
* '''22.04''' (jammy) - '''3.10.6''', 3.11.0rc1 | |||
* <s>22.10</s> (kinetic) - '''3.10.7''', 3.11.0rc2 | |||
* <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 === | |||
Last updated: {{#time:H:i, j F Y (e)|20250216035331}} | |||
* <s>9 (stretch)</s> - '''3.5.3''', 2.7.13 | |||
* <s>10 (buster)</s> - '''3.7.3''', 2.7.16 | |||
* 11 (bullseye) - '''3.9.2''', 2.7.18 | |||
* 12 (bookworm) - '''3.11.2''' | |||
* ''13 (trixie)'' - '''3.13.2''', 3.12.9 | |||
=== 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}} | |||
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>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 === | |||
The actual versions are checked on Rocky Linux and AlmaLinux. | |||
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 === | |||
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: {{#time:H:i, j F Y (e)|20241027170647}} | |||
* 3.4 - '''3.10.8''' | |||
* 3.5 - '''3.11.3''' | |||
* 3.6 - '''3.11.7''' | |||
=== Xcode (macOS) === | |||
Comes with the Command Line Tools and the full Xcode.app. The binary at <code>/usr/bin/python3</code> 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. | |||
* [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] |