Apple will no longer bundle Python 2.7 with macOS 12.3, according to developer release notes for the upcoming software update. Python 2 has not been supported since January 1, 2020 and no longer receives any bug fixes, security patches, or other changes.
Apple says that developers should use an alternative scripting language going forward, such as Python 3, but it's worth noting that Python 3 also does not come preinstalled on macOS. Developers can run the stub /usr/bin/python3 in Terminal, but it prompts users to install Xcode developer tools, which includes Python 3.
Apple warned that future versions of macOS would not include Python 2.7 in macOS Catalina's developer release notes back in 2019. At the time, Apple said Python 2.7 was included in macOS for compatibility with legacy software.
"If your software depends on scripting languages, it's recommended that you bundle the runtime within the app," said Apple.
Top Rated Comments
The point is that changes like this, which break existing code, should happen at major releases, when reasonable people expect to have to do the research and deal with some disruption to their work - not snuck in with a point release alongside essential bug fixes and security updates. Adequate warning was given that it would disappear sometime but that's only so much use without giving a clue about when it would be removed, and then vanishing it overnight. Getting rid of legacy software dependencies isn't always straightforward and people need clarity about when things will be removed.
Fortunately I'm not affected by any of the changes, but it's just bad business.
Removing a 2 year unpatched version of Python that people have been notified about repeatedly being a "bag full of hurt"? Only if you can't read the basic text when you launch python from the CLI:
[ICODE]WARNING: Python 2.7 is not recommended.
This version is included in macOS for compatibility with legacy software.
Future versions of macOS will not include Python 2.7.
Instead, it is recommended that you transition to using 'python3' from within Terminal.
[/ICODE]
So yeah, totally a "bag full of hurt" ..... totally.