Python version information: Difference between revisions

From ihaveahax's Site
Jump to navigationJump to search
(→‎Distribution versions: mark availability of free-threaded builds)
 
(79 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 macOS 11/Universal 2 builds still work on 10.9, but include an arm64 slice for binaries.
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.


{| class="wikitable"
{| class="wikitable"
Line 15: Line 15:
! Ver !! w32 !! w64 !! wa64 !! 10.6 !! 10.9 !! 11/u2 !! Notes
! Ver !! w32 !! w64 !! wa64 !! 10.6 !! 10.9 !! 11/u2 !! Notes
|-
|-
| {{/tbldl|3.13.0|a2|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current pre-release'''}}
| {{/tbldl|3.14.0|a1|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current pre-release'''}}
|-
|-
| {{/tbldl|3.12.1|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current'''}}
| {{/tbldl|3.13.0|cur=1|w32=1|w64=1|wa64=1|11=1|notes='''current'''}}
|-
|-
| {{/tbldl|3.11.7|w32=1|w64=1|wa64=1|11=1|notes=''still gets binary releases until 3.11.9''}}
| {{/tbldl|3.12.7|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 29: Line 31:
| {{/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 39: Line 41:
| [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 50: Line 54:
-->
-->


'''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)|20231208014629}}
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
* '''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.11.6''', 3.12.0
* '''24.04''' (noble) - '''3.12.3'''
* ''24.10'' (oriole) - '''3.12.7''', 3.13.0


=== Debian ===
=== Debian ===


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


=== 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)|20231208014629}}
Last updated: {{#time:H:i, j F Y (e)|20241104060136}}


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 86: Line 92:
* <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
* <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
* 38 - 3.13.0a2, 3.12.0, '''3.11.6''', 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
* 39 - 3.13.0a2, '''3.12.0''', 3.11.6, 3.10.13, 3.9.18, 3.8.18, 3.7.17, 3.6.15
* 39 - 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.13.0a2, '''3.12.0''', 3.11.6, 3.10.13, 3.9.18, 3.8.18, 3.7.17, 3.6.15
* 40 - 3.14.0a1t, 3.13.0t, '''3.12.7''', 3.11.10, 3.10.15, 3.9.20, 3.8.20, 3.6.15
* 41 - 3.14.0a1t, '''3.13.0'''t, 3.12.7, 3.11.10, 3.10.15, 3.9.20, 3.8.20, 3.6.15


=== Red Hat Enterprise Linux and derivatives ===
=== Red Hat Enterprise Linux and derivatives ===


Last updated: {{#time:H:i, j F Y (e)|20231208052900}}
The actual versions are checked on Rocky Linux and AlmaLinux.
 
Last updated: {{#time:H:i, j F Y (e)|20241027170956}}


* 8 - 3.11.5, 3.9.18, 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.9.18''', 3.11.5
* 9 - 3.12.1, 3.11.7, '''3.9.18'''


=== Nix ===
=== Nix ===
Last updated: {{#time:H:i, j F Y (e)|20241104060136}}
* <s>23.11</s> - 3.13.0b2, 3.12.2, '''3.11.8''', 3.10.14, 3.9.19, 3.8.19
* 24.05 - 3.13.0t, 3.12.5, '''3.11.9''', 3.10.15, 3.9.20
* nixpkgs-unstable - 3.13.0t, '''3.12.6''', 3.11.10, 3.10.15, 3.9.20
=== Alpine Linux ===
Last updated: {{#time:H:i, j F Y (e)|20241027171825}}
* 3.17 - '''3.10.15'''
* 3.18 - '''3.11.10'''
* 3.19 - '''3.11.10'''
* 3.20 - '''3.12.7'''


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


* 23.05 - 3.12.0rc2, 3.11.5, '''3.10.13''', 3.9.18, 3.8.18
* 14.1 - '''3.11.10''', 3.10.15, 3.9.20, 3.8.20, 2.7.18
* 23.11 - 3.12.0, '''3.11.6''', 3.10.13, 3.9.18, 3.8.18
* Unstable - 3.12.0, '''3.11.6''', 3.10.13, 3.9.18, 3.8.18


=== Arch Linux ===
=== Arch Linux ===
Line 113: Line 139:
=== SteamOS ===
=== SteamOS ===


Last updated: {{#time:H:i, j F Y (e)|20231208014629}}
Last updated: {{#time:H:i, j F Y (e)|20241027170647}}


* 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'''
=== FreeBSD ===
 
(This can be outdated until I find a better way to get all the versions FreeBSD has in its repository.)
 
* 13.2 - 3.11.4, 3.10.12, '''3.9.17''', 3.8.17, 3.7.17


=== Xcode (macOS) ===
=== Xcode (macOS) ===
Line 131: Line 152:
* 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 142: Line 164:
=== 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

Latest revision as of 06:01, 4 November 2024

Last edited at 06:01, 4 November 2024 (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.

Quick installer links
Ver w32 w64 wa64 10.6 10.9 11/u2 Notes
3.14.0a1 📦 📦 📦 📦 current pre-release
3.13.0 📦 📦 📦 📦 current
3.12.7 📦 📦 📦 📦
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). Strikethrough 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: 17:14, 27 October 2024 (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.0rc2
  • 23.04 (lunar) - 3.11.2
  • 23.10 (mantic) - 3.11.6, 3.12.0
  • 24.04 (noble) - 3.12.3
  • 24.10 (oriole) - 3.12.7, 3.13.0

Debian

Last updated: 17:16, 27 October 2024 (UTC)

  • 9 (stretch) - 3.5.3, 2.7.13
  • 10 (buster) - 3.7.3, 2.7.16
  • 11 (bullseye) - 3.9.2, 2.7.18
  • 12 (bookworm) - 3.11.2
  • 13 (trixie) - 3.12.6, 3.13.0

Fedora

Last updated: 06:01, 4 November 2024 (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.15
  • 36 - 3.12.0a7, 3.11.3, 3.10.11, 3.9.16, 3.8.16, 3.7.16, 3.6.15
  • 37 - 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.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.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.0a1t, 3.13.0t, 3.12.7, 3.11.10, 3.10.15, 3.9.20, 3.8.20, 3.6.15
  • 41 - 3.14.0a1t, 3.13.0t, 3.12.7, 3.11.10, 3.10.15, 3.9.20, 3.8.20, 3.6.15

Red Hat Enterprise Linux and derivatives

The actual versions are checked on Rocky Linux and AlmaLinux.

Last updated: 17:09, 27 October 2024 (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

Nix

Last updated: 06:01, 4 November 2024 (UTC)

  • 23.11 - 3.13.0b2, 3.12.2, 3.11.8, 3.10.14, 3.9.19, 3.8.19
  • 24.05 - 3.13.0t, 3.12.5, 3.11.9, 3.10.15, 3.9.20
  • nixpkgs-unstable - 3.13.0t, 3.12.6, 3.11.10, 3.10.15, 3.9.20

Alpine Linux

Last updated: 17:18, 27 October 2024 (UTC)

  • 3.17 - 3.10.15
  • 3.18 - 3.11.10
  • 3.19 - 3.11.10
  • 3.20 - 3.12.7

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: 17:06, 27 October 2024 (UTC)

  • 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 /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".