A remarkably powerful dynamic programming language

Python for Mac

Python 3.3.2

  -  18.8 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.3.2.


For those interested in downloading the most recent release of Python for Mac 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.3.2 Screenshots

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

    Python 3.3.2 Screenshot 1
  • Python 3.3.2 Screenshot 2
  • Python 3.3.2 Screenshot 3
  • Python 3.3.2 Screenshot 4
  • Python 3.3.2 Screenshot 5

What's new in this version:

Core and Built-ins:
- Issue #17237: Fix crash in the ASCII decoder on m68k.
- Issue #17408: Avoid using an obsolete instance of the copyreg module when the interpreter is shutdown and then started again.
- Issue #17863: In the interactive console, don’t loop forever if the encoding can’t be fetched from stdin.
- Issue #17867: Raise an ImportError if __import__ is not found in __builtins__.
- Issue #17857: Prevent build failures with pre-3.5.0 versions of sqlite3, such as was shipped with Centos 5 and Mac OS X 10.4.
- Issue #17413: sys.settrace callbacks were being passed a string instead of an exception instance for the ‘value’ element of the arg tuple if the exception originated from C code; now an exception instance is always provided.
- Issue #17782: Fix undefined behaviour on platforms where struct timespec‘s “tv_nsec” member is not a C long.
- Issue #17715: Fix segmentation fault from raising an exception in a __trunc__ method.
- Issue #16447: Fixed potential segmentation fault when setting __name__ on a class.
- Issue #17669: Fix crash involving finalization of generators using yield from.
- Issue #17619: Make input() check for Ctrl-C correctly on Windows.
- Issue #17610: Don’t rely on non-standard behavior of the C qsort() function.
- Issue #17357: Add missing verbosity output when using -v/-vv.

Library:
- Issue #17606: Fixed support of encoded byte strings in the XMLGenerator
- .characters() and ignorableWhitespace() methods. Original patch by Sebastian Ortiz Vasquez.
- Issue #17732: Ignore distutils.cfg options pertaining to install paths if a virtual environment is active.
- Issue #1159051: Back out a fix for handling corrupted gzip files that broke backwards compatibility.
- Issue #17915: Fix interoperability of xml.sax with file objects returned by codecs.open().
- Issue #16601: Restarting iteration over tarfile no more continues from where it left off. Patch by Michael Birtwell.
- Issue #17289: The readline module now plays nicer with external modules or applications changing the rl_completer_word_break_characters global variable. Initial patch by Bradley Froehle.
- Issue #12181: select module: Fix struct kevent definition on OpenBSD 64-bit platforms. Patch by Federico Schwindt.
- Issue #14173: Avoid crashing when reading a signal handler during interpreter shutdown.
- Issue #16316: mimetypes now recognizes the .xz and .txz (.tar.xz) extensions.
- Issue #15902: Fix imp.load_module() accepting None as a file when loading an extension module.
- Issue #17802: Fix an UnboundLocalError in html.parser. Initial tests by Thomas Barlow.
- Issue #15535: Fix namedtuple pickles which were picking up the OrderedDict instead of just the underlying tuple.
- Issue #17192: Restore the patch for Issue #11729 which was ommitted in 3.3.1 when updating the bundled version of libffi used by ctypes. Update many libffi files that were missed in 3.3.1’s update to libffi-3.0.13.
- Issue #17358: Modules loaded by imp.load_source() and load_compiled() (and by extention load_module()) now have a better chance of working when reloaded.
- Issue #17353: Plistlib emitted empty data tags with deeply nested datastructures
- Issue #11714: Use ‘with’ statements to assure a Semaphore releases a condition variable. Original patch by Thomas Rachel.
- Issue #17795: Reverted backwards-incompatible change in SysLogHandler with Unix domain sockets.
- Issue #17555: Fix ForkAwareThreadLock so that size of after fork registry does not grow exponentially with generation of process.
- Issue #17707: multiprocessing.Queue’s get() method does not block for short timeouts.
- Isuse #17720: Fix the Python implementation of pickle.Unpickler to correctly process the APPENDS opcode when it is used on non-list objects.
- Issue #17012: shutil.which() no longer fallbacks to the PATH environment variable if empty path argument is specified. Patch by Serhiy Storchaka.
- Issue #17710: Fix pickle raising a SystemError on bogus input.
- Issue #17341: Include the invalid name in the error messages from re about invalid group names.
- Issue #17702: os.environ now raises KeyError with the original environment variable name (str on UNIX), instead of using the encoded name (bytes on UNIX).
- Issue #16163: Make the importlib based version of pkgutil.iter_importers work for submodules. Initial patch by Berker Peksag.
- Issue #16804: Fix a bug in the ‘site’ module that caused running ‘python -S -m site’ to incorrectly throw an exception.
- Issue #17016: Get rid of possible pointer wraparounds and integer overflows in the re module. Patch by Nickolai Zeldovich.
- Issue #16658: add missing return to HTTPConnection.send() Patch by Jeff Knupp.
- Issue #14971: unittest test discovery no longer gets confused when a function has a different __name__ than its name in the TestCase class dictionary.
- Issue #17678: Fix DeprecationWarning in the http/cookiejar.py by changing the usage of get_origin_req_host() to origin_req_host.
- Issue #17666: Fix reading gzip files with an extra field.
- Issue #17502: Process DEFAULT values in mock side_effect that returns iterator. Patch by Michael Foord.
- Issue #17572: Avoid chained exceptions while passing bad directives to time.strptime(). Initial patch by Claudiu Popa.
- Issue #17435: threading.Timer’s __init__ method no longer uses mutable default values for the args and kwargs parameters.
- Issue #17526: fix an IndexError raised while passing code without filename to inspect.findsource(). Initial patch by Tyler Doyle.
- Issue #16550: Update the opcode descriptions of pickletools to use unsigned integers where appropriate. Initial patch by Serhiy Storchaka.

IDLE:
- Issue #17838: Allow sys.stdin to be reassigned.
- Issue #13495: Avoid loading the color delegator twice in IDLE.
- Issue #17798: Allow IDLE to edit new files when specified on command line.
- Issue #14735: Update IDLE docs to omit “Control-z on Windows”.
- Issue #17585: Fixed IDLE regression. Now closes when using exit() or quit().
- Issue #17657: Show full Tk version in IDLE’s about dialog. Patch by Todd Rovito.
- Issue #17613: Prevent traceback when removing syntax colorizer in IDLE.
- Issue #1207589: Backwards-compatibility patch for right-click menu in IDLE.
- Issue #16887: IDLE now accepts Cancel in tabify/untabify dialog box.
- Issue #17625: In IDLE, close the replace dialog after it is used.
- Issue #14254: IDLE now handles readline correctly across shell restarts.
- Issue #17614: IDLE no longer raises exception when quickly closing a file.
- Issue #6698: IDLE now opens just an editor window when configured to do so.
- Issue #8900: Using keyboard shortcuts in IDLE to open a file no longer raises an exception.
- Issue #6649: Fixed missing exit status in IDLE. Patch by Guilherme Polo.

Tests:
- Issue #17833: Fix test_gdb failures seen on machines where debug symbols for glibc are available (seen on PPC64 Linux).
- Issue #7855: Add tests for ctypes/winreg for issues found in IronPython. Initial patch by Dino Viehland.
- Issue #17712: Fix test_gdb failures on Ubuntu 13.04.
- Issue #17835: Fix test_io when the default OS pipe buffer size is larger than one million bytes.
- Issue #17065: Use process-unique key for winreg tests to avoid failures if test is run multiple times in parallel (eg: on a buildbot host).
- Issue #12820: add tests for the xml.dom.minicompat module. Patch by John Chandler and Phil Connell.
- Issue #17790: test_set now works with unittest test discovery. Patch by Zachary Ware.
- Issue #17789: test_random now works with unittest test discovery. Patch by Zachary Ware.
- Issue #17779: test_osx_env now works with unittest test discovery. Patch by Zachary Ware.
- Issue #17766: test_iterlen now works with unittest test discovery. Patch by Zachary Ware.
- Issue #17690: test_time now works with unittest test discovery. Patch by Zachary Ware.
- Issue #17692: test_sqlite now works with unittest test discovery. Patch by Zachary Ware.
- Issue #17843: Removed bz2 test data file that was triggering false-positive virus warnings with certain antivirus software.

Documentation:
- Issue #15940: Specify effect of locale on time functions.
- Issue #6696: add documentation for the Profile objects, and improve profile/cProfile docs. Patch by Tom Pinckney.
- Issue #17915: Fix interoperability of xml.sax with file objects returned by codecs.open().

Build:
- Issue #17547: In configure, explicitly pass -Wformat for the benefit for GCC 4.8.
- Issue #17962: Build with OpenSSL 1.0.1e on Windows.