Python 3.10

Python 3.10 3.10.11

Python is a programming language that lets you work more quickly and integrate your systems more effectively.

Download for Windows

About Python 3.10

Python is a programming language that lets you work more quickly and integrate your systems more effectively.

What's new in 3.10.11

Security
- gh-101727: Updated the OpenSSL version used in Windows and macOS binary release builds to 1.1.1t to address CVE-2023-0286, CVE-2022-4303, and CVE-2022-4303 per the OpenSSL 2023-02-07 security advisory.
- gh-101283: subprocess.Popen now uses a safer approach to find cmd.exe when launching with shell=True. Patch by Eryk Sun, based on a patch by Oleg Iarygin.
Core and Builtins
- gh-102416: Do not memoize incorrectly automatically generated loop rules in the parser. Patch by Pablo Galindo.
- gh-102356: Fix a bug that caused a crash when deallocating deeply nested filter objects. Patch by Marta Gómez Macías.
- gh-102397: Fix segfault from race condition in signal handling during garbage collection. Patch by Kumar Aditya.
- gh-102126: Fix deadlock at shutdown when clearing thread states if any finalizer tries to acquire the runtime head lock. Patch by Kumar Aditya.
- gh-102027: Fix SSE2 and SSE3 detection in _blake2 internal module. Patch by Max Bachmann.
- gh-101967: Fix possible segfault in positional_only_passed_as_keyword function, when new list created.
- gh-101765: Fix SystemError / segmentation fault in iter reduce when internal access of builtins.dict keys mutates the iter object.
Library
- gh-102947: Improve traceback when dataclasses.fields() is called on a non-dataclass. Patch by Alex Waygood
- gh-101979: Fix a bug where parentheses in the metavar argument to argparse.ArgumentParser.add_argument() were dropped. Patch by Yeojin Kim.
- gh-102179: Fix os.dup2() error message for negative fds.
- gh-101961: For the binary mode, fileinput.hookcompressed() doesn’t set the encoding value even if the value is None. Patch by Gihwan Kim.
- gh-101936: The default value of fp becomes io.BytesIO if HTTPError is initialized without a designated fp parameter. Patch by Long Vo.
- gh-101566: In zipfile, apply fix for extractall on the underlying zipfile after being wrapped in Path.
- gh-101997: Upgrade pip wheel bundled with ensurepip (pip 23.0.1)
- gh-101892: Callable iterators no longer raise SystemError when the callable object exhausts the iterator but forgets to either return a sentinel value or raise StopIteration.
- gh-97786: Fix potential undefined behaviour in corner cases of floating-point-to-time conversions.
- gh-101517: Fixed bug where bdb looks up the source line with linecache with a lineno=None, which causes it to fail with an unhandled exception.
- gh-101673: Fix a pdb bug where ll clears the changes to local variables. …

Full release notes »

Technical details

PublisherPython Software Foundation
Version3.10.11
Release date2023-04-04
LicensePSF-2.0
Installer typeburn
Architecturex86, x64
Package IDPython.Python.3.10
Install scopeCurrent user

Install Python 3.10 from the command line

Install with Windows Package Manager
winget install --id=Python.Python.3.10 -e
Update to the latest version
winget upgrade --id=Python.Python.3.10 -e
Uninstall
winget uninstall --id=Python.Python.3.10 -e
Silent install with the offline installer
"python-3.10.11-amd64.exe" /quiet /norestart InstallAllUsers=0 PrependPath=1
Install to a custom folder
"python-3.10.11-amd64.exe" DefaultJustForMeTargetDir=D:\Apps\Python 3.10
Uninstall the MSI package
msiexec /x {a10fbb63-03ff-4b8c-a176-f5fd355f715b} /quiet

Python 3.10 adds these commands to the command line: py, python, pythonw, pyw.

languageprogrammingprogramming-languagepythonpython3script

File types supported by Python 3.10

Python 3.10 can open or be associated with 7 file types:

.py.pyc.pyd.pyo.pyw.pyz.pyzw

Python 3.10 version history

3.10.10 Feb 7, 2023
3.10.9 Dec 6, 2022
3.10.8 Oct 11, 2022

Security
- gh-97616: Fix multiplying a list by an integer (list *= int): detect the integer overflow when the new allocated length is close to the maximum size. Issue reported by Jordan Limor. Patch by Victor Stinner.
- gh-97612: Fix a shell code injection vulnerability in the get-remote-certificate.py example script. The script no longer uses a shell to run openssl commands. Issue reported and initial fix by Caleb Shortt. Patch by Victor Stinner.
- gh-68966: The deprecated mailcap module now refuses to inject unsafe text (filenames, MIME types, parameters) into shell commands. Instead of using such text, it will warn and act as if a match was not found (or for test commands, as if the test failed).
Core and Builtins
- gh-96078: os.sched_yield() now release the GIL while calling sched_yield(2). Patch by Dong-hee Na.
- gh-97943: Bugfix: PyFunction_GetAnnotations() should return a borrowed reference. It was returning a new reference.
- gh-97591: Fixed a missing incref/decref pair in Exception.setstate(). Patch by Ofey Chan.
- gh-96848: Fix command line parsing: reject -X int_max_str_digits option with no value (invalid) when the

PYTHONINTMAXSTRDIGITS environment variable is set to a valid limit. Patch by Victor Stinner.

  • gh-95921: Fix overly-broad source position information for chained comparisons used as branching conditions.
  • gh-96821: Fix undefined behaviour in _testcapimodule.c. …

Other versions

  • 3.10.7
  • 3.10.6
  • 3.10.5
  • 3.10.4
  • 3.10.3
  • 3.10.2

Frequently asked questions

Is Python 3.10 free?

Python 3.10 is psf-2.0 software from Python Software Foundation. Check the publisher's license terms for pricing and usage rights.

What is the latest version of Python 3.10?

The latest version is 3.10.11, released on Apr 4, 2023.

Is it safe to download Python 3.10?

The download button links to the official installer published on python.org, the same file Windows Package Manager installs. You can verify the downloaded file by comparing its SHA-256 checksum with d8dede5005564b408ba50317108b765ed9c3c510342a598f9fd42681cbe0648b.

Which Windows versions does Python 3.10 support?

Python 3.10 runs on Windows and is available for 32-bit (x86), 64-bit (x64) systems.

How do I install Python 3.10 silently?

Run the offline installer with "python-3.10.11-amd64.exe" /quiet /norestart InstallAllUsers=0 PrependPath=1, or install it with Windows Package Manager: winget install --id=Python.Python.3.10 -e --silent.

How do I uninstall Python 3.10?

Open Settings › Apps › Installed apps, find Python 3.10 and select Uninstall. From the command line, run winget uninstall --id=Python.Python.3.10 -e.

What file types can Python 3.10 open?

Python 3.10 supports 7 file types, including .py, .pyc, .pyd, .pyo, .pyw, .pyz, .pyzw.