Python 3.9

Python Software Foundation · Python.Python.3.9

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

winget install --id Python.Python.3.9 --exact --source winget

Latest 3.9.13

Release Notes

Core and Builtins

  • gh-92311: Fixed a bug where setting frame.f_lineno to jump over a list comprehension could misbehave or crash.
  • gh-92112: Fix crash triggered by an evil custom mro() on a metaclass.
  • gh-92036: Fix a crash in subinterpreters related to the garbage collector. When a subinterpreter is deleted, untrack all objects tracked by its GC. To prevent a crash in deallocator functions expecting objects to be tracked by the GC, leak a strong reference to these objects on purpose, so they are never deleted and their deallocator functions are not called. Patch by Victor Stinner.
  • gh-91421: Fix a potential integer overflow in _Py_DecodeUTF8Ex.
  • bpo-46775: Some Windows system error codes(>= 10000) are now mapped into the correct errno and may now raise a subclass of OSError. Patch by Dong-hee Na.
  • bpo-46962: Classes and functions that unconditionally declared their docstrings ignoring the --without-doc-strings compilation flag no longer do so. The classes affected are pickle.PickleBuffer, testcapi.RecursingInfinitelyError, and types.GenericAlias. The functions affected are 24 methods in ctypes. Patch by Oleg Iarygin.
  • bpo-36819: Fix crashes in built-in encoders with error handlers that return position less or equal than the starting position of non-encodable characters. Library
  • gh-91581: utcfromtimestamp() no longer attempts to resolve fold in the pure Python implementation, since the fold is never 1 in UTC. In addition to being slightly faster in the common case, this also prevents some errors when the timestamp is close to datetime.min. Patch by Paul Ganssle.
  • gh-92530: Fix an issue that occurred after interrupting threading.Condition.notify().
  • gh-92049: Forbid pickling constants re._constants.SUCCESS etc. Previously, pickling did not fail, but the result could not be unpickled.
  • bpo-47029: Always close the read end of the pipe used by multiprocessing.Queue after the last write of buffered data to the write end of the pipe to avoid BrokenPipeError at garbage collection and at multiprocessing.Queue.close() calls. Patch by Géry Ogam.
  • gh-91910: Add missing f prefix to f-strings in error messages from the multiprocessing and asyncio modules.
  • gh-91810: ElementTree method write() and function tostring() now use the text file’s encoding (“UTF-8” if not available) instead of locale encoding in XML declaration when encoding="unicode" is specified.
  • gh-91832: Add required attribute to argparse.Action repr output.
  • gh-91734: Fix OSS audio support on Solaris.
  • gh-91700: Compilation of regular expression containing a conditional expression (?(group)...) now raises an appropriate re.error if the group number refers to not defined group. Previously an internal RuntimeError was raised.
  • gh-91676: Fix unittest.IsolatedAsyncioTestCase to shutdown the per test event loop executor before returning from its run method so that a not yet stopped or garbage collected executor state does not persist beyond the test.
  • gh-90568: Parsing \N escapes of Unicode Named Character Sequences in a regular expression raises now re.error instead of TypeError.
  • gh-91595: Fix the comparison of character and integer inside Tools.gdb.libpython.write_repr(). Patch by Yu Liu.
  • gh-90622: Worker processes for concurrent.futures.ProcessPoolExecutor are no longer spawned on demand (a feature added in 3.9) when the multiprocessing context start method is "fork" as that can lead to deadlocks in the child processes due to a fork happening while threads are running.
  • gh-91575: Update case-insensitive matching in the re module to the latest Unicode version.
  • gh-91581: Remove an unhandled error case in the C implementation of calls to datetime.fromtimestamp with no time zone (i.e. getting a local time from an epoch timestamp). This should have no user-facing effect other than giving a possibly more accurate error message when called with timestamps that fall on 10000-01-01 in the local time. Patch by Paul Ganssle.
  • bpo-34480: Fix a bug where _markupbase raised an UnboundLocalError when an invalid keyword was found in marked section. Patch by Marek Suscak.
  • bpo-27929: Fix asyncio.loop.sock_connect() to only resolve names for socket.AF_INET or socket.AF_INET6 families. Resolution may not make sense for other families, like socket.AF_BLUETOOTH and socket.AF_UNIX.
  • bpo-43323: Fix errors in the email module if the charset itself contains undecodable/unencodable characters.
  • bpo-46787: Fix concurrent.futures.ProcessPoolExecutor exception memory leak
  • bpo-46415: Fix ipaddress.ip_{address,interface,network} raising TypeError instead of ValueError if given invalid tuple as address parameter.
  • bpo-44911: IsolatedAsyncioTestCase will no longer throw an exception while cancelling leaked tasks. Patch by Bar Harel.
  • bpo-44493: Add missing terminated NUL in sockaddr_un’s length This was potentially observable when using non-abstract AF_UNIX datagram sockets to processes written in another programming language.
  • bpo-42627: Fix incorrect parsing of Windows registry proxy settings
  • bpo-36073: Raise ProgrammingError instead of segfaulting on recursive usage of cursors in sqlite3 converters. Patch by Sergey Fedoseev. Documentation
  • gh-91888: Add a new gh role to the documentation to link to GitHub issues.
  • gh-91783: Document security issues concerning the use of the function shutil.unpack_archive()
  • gh-91547: Remove “Undocumented modules” page.
  • bpo-44347: Clarify the meaning of dirs_exist_ok, a kwarg of shutil.copytree().
  • bpo-38668: Update the introduction to documentation for os.path to remove warnings that became irrelevant after the implementations of PEP 383 and PEP 529.
  • bpo-47138: Pin Jinja to a version compatible with Sphinx version 2.4.4.
  • bpo-46962: All docstrings in code snippets are now wrapped into PyDoc_STR() to follow the guideline of PEP 7’s Documentation Strings paragraph. Patch by Oleg Iarygin.
  • bpo-26792: Improve the docstrings of runpy.run_module() and runpy.run_path(). Original patch by Andrew Brezovsky.
  • bpo-45790: Adjust inaccurate phrasing in Defining Extension Types: Tutorial about the ob_base field and the macros used to access its contents.
  • bpo-42340: Document that in some circumstances KeyboardInterrupt may cause the code to enter an inconsistent state. Provided a sample workaround to avoid it if needed.
  • bpo-41233: Link the errnos referenced in Doc/library/exceptions.rst to their respective section in Doc/library/errno.rst, and vice versa. Previously this was only done for EINTR and InterruptedError. Patch by Yan “yyyyyyyan” Orestes.
  • bpo-38056: Overhaul the Error Handlers documentation in codecs.
  • bpo-13553: Document tkinter.Tk args. Tests
  • gh-91607: Fix test_concurrent_futures to test the correct multiprocessing start method context in several cases where the test logic mixed this up.
  • bpo-47205: Skip test for sched_getaffinity() and sched_setaffinity() error case on FreeBSD.
  • bpo-29890: Add tests for ipaddress.IPv4Interface and ipaddress.IPv6Interface construction with tuple arguments. Original patch and tests by louisom. Build
  • bpo-47103: Windows PGInstrument builds now copy a required DLL into the output directory, making it easier to run the profile stage of a PGO build. Windows
  • bpo-47194: Update zlib to v1.2.12 to resolve CVE-2018-25032.
  • bpo-46785: Fix race condition between os.stat() and unlinking a file on Windows, by using errors codes returned by FindFirstFileW() when appropriate in win32_xstat_impl.
  • bpo-40859: Update Windows build to use xz-5.2.5 Tools/Demos
  • gh-91583: Fix regression in the code generated by Argument Clinic for functions with the defining_class parameter.

Installer type: burn

Architecture Scope Download SHA256
x86 user Download F363935897BF32ADF6822BA15ED1BFED7AE2AE96477F0262650055B6E9637C35
x86 machine Download F363935897BF32ADF6822BA15ED1BFED7AE2AE96477F0262650055B6E9637C35
x64 user Download FB3D0466F3754752CA7FD839A09FFE53375FF2C981279FD4BC23A005458F7F5D
x64 machine Download FB3D0466F3754752CA7FD839A09FFE53375FF2C981279FD4BC23A005458F7F5D

Details

Homepage
https://www.python.org/
License
PSF-2.0
Publisher
Python Software Foundation
Support
https://www.python.org/about/help/
Privacy Policy
https://www.python.org/privacy/
Copyright
Copyright (c) 2001-2022 Python Software Foundation. All Rights Reserved. Copyright (c) 2000 BeOpen.com. All Rights Reserved. Copyright (c) 1995-2001 Corporation for National Research Initiatives. All Rights Reserved. Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. All Rights Reserved.
Moniker
python3.9

Tags

languageprogrammingprogramming-languagepythonpython3script

Older versions (8)

3.9.8
Architecture Scope Download SHA256
x86 user Download F1D0337612389807379ED3BE7083B338744A7309B2EC3F6ED29E6ED1E7466CA9
x86 machine Download F1D0337612389807379ED3BE7083B338744A7309B2EC3F6ED29E6ED1E7466CA9
x64 user Download 1ED98B2B7B88CE7429520553F50C85C8A7BDC7F7CEE88BE642D9771F369EAB8C
x64 machine Download 1ED98B2B7B88CE7429520553F50C85C8A7BDC7F7CEE88BE642D9771F369EAB8C
3.9.7
Architecture Scope Download SHA256
x64 user Download 3F63F4C77A6DA13F9BAE715EB6644A48BD5F900601E0F1F233862E8CA1A96DD8
x64 machine Download 3F63F4C77A6DA13F9BAE715EB6644A48BD5F900601E0F1F233862E8CA1A96DD8
x86 user Download 993671F902962C2FDCB94B0995A1329E748BB0732FC476CBE9D26B01FE95AC8D
x86 machine Download 993671F902962C2FDCB94B0995A1329E748BB0732FC476CBE9D26B01FE95AC8D
3.9.6
Architecture Scope Download SHA256
x64 user Download 3924CAA094F70FD3EA667A27AD494D57941A487AA72D8B6B79CE60E81F1E497C
x64 machine Download 3924CAA094F70FD3EA667A27AD494D57941A487AA72D8B6B79CE60E81F1E497C
x86 user Download 506F8D88063191E9C579A4D6B4274B16E941D004CE33F99AB34EF4C5BE23E45B
x86 machine Download 506F8D88063191E9C579A4D6B4274B16E941D004CE33F99AB34EF4C5BE23E45B
3.9.5
Architecture Scope Download SHA256
x64 user Download 84D5243088BA00C11E51905C704DBE041040DFFF044F4E1CE5476844EE2E6EAC
x86 user Download 505129081A839B699A6AB9064B441AD922EF03767B5DD4241FD0C2166BAF64DE
3.9.4
Architecture Scope Download SHA256
x64 Download 58E6BB9D08FD250C1DEFB7A7A7247993B4EA349518BA877ABB6364DE85029E04
x86 Download 9FA3C5BF4BECE52A424FD956276B0D71E5F0138767B93E9670322ACB54E8F41B
3.9.2
Architecture Scope Download SHA256
x64 user Download BC95BCBB879006D2A3E5F8BEF6D7EC8B8E9368D4FE14E6CD4ABDF1CD5166BCC3
x86 user Download ACE8CD10AAC4E85BB4DA46045CA9210272E893C1E18B5A93083739C36BBA96B6
3.9.1
Architecture Scope Download SHA256
x64 Download 9DB77E7282945D3409ABC2A43142AE0F0B829F1656BED07BC18526E765F05F86
x86 Download CE469E937B1293BAE7FBF81D0A3D43623C06C8C38DFC9F4A68C6B237CFD50A9F
3.9.0
Architecture Scope Download SHA256
x64 Download FD2E2C6612D43BB6B213B72FC53F07D73D99059FA72C96E44BDE12E7815073AE
x86 Download A4C65917F4225D1543959342F0615C813A4E9E7FF1137C4394FF6A5290AC1913