This package will install Python $FULL_VERSION for macOS $MACOSX_DEPLOYMENT_TARGET for the following architecture(s): $ARCHITECTURES.

macOS 11 (Big Sur) and Apple Silicon Mac support [new in 3.8.10]

As of Python 3.8.10, Python is now supported on macOS 11 Big Sur.  The binaries included in this installer install on macOS releases from macOS 10.9 through macOS 11 Big Sur and will run on Apple Silicon Macs using Rosetta 2 translation.  Starting with Python 3.9.1, we provide a new universal2 installer variant which includes binaries that run natively on both Apple Silicon Macs and Intel-based Macs. 

Certificate verification and OpenSSL

This package includes its own private copy of OpenSSL 1.1.1.   The trust certificates in system and user keychains managed by the Keychain Access application and the security command line utility are not used as defaults by the Python ssl module.  A sample command script is included in /Applications/Python 3.8 to install a curated bundle of default root certificates from the third-party certifi package (https://pypi.org/project/certifi/).  Double-click on Install Certificates to run it.

The bundled pip has its own default certificate store for verifying download connections.

Using IDLE or other Tk applications 

This package includes its own private version of Tcl/Tk 8.6. It does not use any system-supplied or third-party supplied versions of Tcl/Tk.

Due to new security checks on macOS 10.15 Catalina, when launching IDLE macOS may open a window with a message "Python" would like to access files in your Documents folder.  This is normal as IDLE uses your Documents folder as its default when opening and saving files; you can still choose other locations in the Open and Save file dialog windows.  Click on the OK button to proceed.

macOS 10.15 (Catalina) Gatekeeper Requirements [changed in 3.8.2]

As of 2020-02-03, Apple has changed how third-party installer packages, like those provided by python.org, are notarized for verification by Gatekeeper and begun enforcing additional requirements such as code signing and use of the hardened runtime.  As of 3.8.2, python.org installer packages now meet those additional notarization requirements.  The necessary changes in packaging should be transparent to your use of Python but, in the unlikely event that you encounter changes in behavior between 3.8.1 and newer 3.8.x releases in areas like ctypes, importlib, or mmap, please check bugs.python.org for existing reports and, if necessary, open a new issue.

Python 2.7 end-of-life [changed in 3.8.4]

Python 2.7 has now reached end-of-life. As of Python 3.8.4, the Python Launcher app now has python3 factory defaults.  Also, the Current link in the /Library/Frameworks/Python.framework/Versions directory is now updated to point to the Python 3 being installed; previously, only Python 2 installs updated Current.  This change might affect developers using the framework to embed Python in their applications.  If another version is desired for embedding, the Current symlink can be changed manually without affecting 3.8.x behavior.

Other changes

For other changes in this release, see the What's new section in the Documentation Set for this release and its Release Notes link at https://www.python.org/downloads/.