A remarkably powerful dynamic programming language

Python (32-bit)

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Subscribe

Python 3.9.1 (32-bit)

  -  25.9 MB  -  Open Source

Sometimes latest versions of the software can cause issues when installed on older devices or devices running an older version of the operating system. Software makers usually fix these issues but it can take them some time. What you can do in the meantime is to download and install an older version of Python 3.9.1 (32-bit).


For those interested in downloading the most recent release of Python (32-bit) or reading our review, simply click here.


All old versions distributed on our website are completely virus-free and available for download at no cost.


We would love to hear from you

If you have any questions or ideas that you want to share with us - head over to our Contact page and let us know. We value your feedback!

  • Python 3.9.1 (32-bit) Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    Python 3.9.1 (32-bit) Screenshot 1
  • Python 3.9.1 (32-bit) Screenshot 2
  • Python 3.9.1 (32-bit) Screenshot 3
  • Python 3.9.1 (32-bit) Screenshot 4
  • Python 3.9.1 (32-bit) Screenshot 5

What's new in this version:

Core and Builtins:
- bpo-42576: types.GenericAlias will now raise a TypeError when attempting to initialize with a keyword argument. Previously, this would cause the interpreter to crash if the interpreter was compiled with debug symbols. This does not affect interpreters compiled for release.

Library:
- bpo-5054: CGIHTTPRequestHandler.run_cgi() HTTP_ACCEPT improperly parsed. Replace the special purpose getallmatchingheaders with generic get_all method and add relevant tests
- Original Patch by Martin Panter. Modified by Senthil Kumaran
- bpo-17735: inspect.findsource() now raises OSError instead of IndexError when co_lineno of a code object is greater than the file length. This can happen, for example, when a file is edited after it was imported. PR by Irit Katriel
- bpo-42116: Fix handling of trailing comments by inspect.getsource()
- bpo-42487: ChainMap.__iter__ no longer calls __getitem__ on underlying map
- bpo-42482: TracebackException no longer holds a reference to the exception’s traceback object. Consequently, instances of TracebackException for equivalent but non-equal exceptions now compare as equal
- bpo-42406: We fixed an issue in pickle.whichmodule in which importing multiprocessing could change the how pickle identifies which module an object belongs to, potentially breaking the unpickling of those objects
- bpo-34215: Clarify the error message for asyncio.IncompleteReadError when expected is None
- bpo-12800: Extracting a symlink from a tarball should succeed and overwrite the symlink if it already exists. The fix is to remove the existing file or symlink before extraction. Based on patch by Chris AtLee, Jeffrey Kintscher, and Senthil Kumaran

Tests:
- bpo-41473: Reenable test_gdb on gdb 9.2 and newer
- bpo-42553: Fix test_asyncio.test_call_later() race condition: don’t measure asyncio performance in the call_later() unit test. The test failed randomly on the CI

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Subscribe