Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
To all the people complaining about this, do you actually think you'll be hurt by this?

Apple have been warning people for years Python 2 is going away. Almost everyone (myself included) who uses python moved to 3 years ago, and most likely doesn't use the system installed version anyway.

Can anyone point to something that will actually break because of this, where the solution isn't just to install python2 using MacPorts/HomeBrew/Anaconda etc?

Yes, it will hurt some people. There are thousands of scripts that still use #!/bin/python. When those scripts are run through a managment system (like Jamf), they just fail, no error, no user interaction, no nothing.

Python is a very common scripting language for Mac Admins. I use it all the time. My personal scripts are all Py3 as I have it installed on my computer. For my clients, I now have to make sure that I install a version of Py3 (which I do). But, I still have to cull scripts in my Jamf that have been around for years. (I just ran my first enrollment and found my first ancient script still using Py2.)
 
Because we would be having the same discussion 6 months from now, 12 months from now or whatever number of months from now if that were the case.
No, becuase making a major change in a major release gives people more time to fix the issue. (Beta for major releases are 3-4 months, minor releases are 1-2). Also, people expect changes that can break existing workflows to be part of major upgrades, not minor releases.
 
Edit: To further this point, you're right ... I do not use python2 because we have been told for awhile to move on to python3, which is what I use. So .. please, Apple, remove it.
...and that was already the case back in October when Monterey was released, if not October 2020 with Big Sur... those were the points at which Python should have been removed.

The issue isn't that they removed Python, it's that they did so without warning in a minor update.

The whole Python 2 vs. Python 3 thing was a dumpster fire outside of Apple's control - but for developers it is not always a simple matter of "just switch to Python 3, stupid" when they had projects that depended on third party libraries which never got ported to 3. Try "I'm sorry but I have to spend xxx days and $$$ completely re-writing the application in order to be a responsible programmer" on a client/employer sometime. In that situation, even being able to say "this will definitely stop working on all Macs sold after October 2021" is a help.
 
The issue isn't that they removed Python, it's that they did so without warning in a minor update.
They haven’t, though. I mean, unless there are those that install betas on mission critical systems. If that’s the case, they’ve got far larger problems than Apple removing Python in a future release.
 
  • Like
Reactions: CarlJ
Because we would be having the same discussion 6 months from now, 12 months from now or whatever number of months from now if that were the case.
I see it more as “bonus time”. If a developer wasn’t on Py3 BEFORE January 1, 2020, that’s already one notch against them. If they didn’t do the work prior to the last major macOS release, that’s another notch against them.
 
They haven’t, though. I mean, unless there are those that install betas on mission critical systems. If that’s the case, they’ve got far larger problems than Apple removing Python in a future release.
Read my reply above. It is more about time to adjust.

Apple is making two MAJOR changes in 12.3 that are breaking Enterprise solutions. These are type of issues I fully expect to work on during the 3-4 month beta, not in a 1-2 month beat for point update.
 
To all the people complaining about this, do you actually think you'll be hurt by this?

Apple have been warning people for years Python 2 is going away. Almost everyone (myself included) who uses python moved to 3 years ago, and most likely doesn't use the system installed version anyway.

Can anyone point to something that will actually break because of this, where the solution isn't just to install python2 using MacPorts/HomeBrew/Anaconda etc?

History repeats itself:

"Stop using CodeWarrior and start using XCode, OR YOU WILL BE VERY VERY SORRY IF YOU CONTINUE TO USE CODEWARRIOR!"

"Stop using anything else for graphics and start using Metal in XCode, OR YOU WILL BE VERY VERY SORRY IF YOU CONTINUE TO USE THAT!"

"Stop using the MRJ package we provided and start using Oracle's Java, OR YOU WILL BE VERY VERY SORRY IF YOU CONTINUE TO USE MRJ!"

History repeats itself yet again...

"Stop using Python2 in the current macOS and use at least Python3, OR YOU WILL BE VERY VERY SORRY IF YOU CONTINUE TO USE PYTHON2!"
 
Read my reply above. It is more about time to adjust.

The time to adjust started when it was announced that support for Py2 was ending in January 2020, though. I can’t tell when this was posted,
But, from the wording there, the time to adjust started in 2008. Which was extended to 2015. Which was extended to 2020.
 
Who really cares? Apple is doing the right thing here. It should not be bundling outdated and unsupported software. You're on your own if you want to use it. Anyone who needs the current version of Python just go to Homebrew, which you would have needed to do anyway to get a current version.
 
Because we would be having the same discussion 6 months from now, 12 months from now or whatever number of months from now if that were the case.
Not really, since macOS major releases come out in the autumn months and it makes sense to do a breaking change — even one advertised via a deprecation — with a major release.

Would’ve been better, of course, if they had removed it with macOS 12.0.
 
  • Like
Reactions: aid
Headline "Finally." When should they have done it? Doing it in a point release had its advantages. Since little is changing with point releases it's easier to figure out why something doesn't work.

I thought some apps package the scripting language into the app (but I can't confirm this). Maybe take a little space but developer doesn't have to worry about what update you're on.
 
Roadmap, roadmap, roadmap.
Apple is absolutely horrible from an enterprise point of view. Stuff happens at any time, sure, they give 1,5 years advanced notice, but it would be nice to know EXACTLY when stuff is happening. It happens now, not at release of 12.0, and not by 13.0. It's year around feature updates, yay!
FFS Apple, learn from Microsoft!
But hey, I guess that would REALLY harm the "wow"-factor in the next keynote if they gave a timeline for removal of some script language used mostly by enterprise and developers. I'm at absolutely "wowed" by this removal, what a wonderful surprise!
 
Read my reply above. It is more about time to adjust.

Apple is making two MAJOR changes in 12.3 that are breaking Enterprise solutions. These are type of issues I fully expect to work on during the 3-4 month beta, not in a 1-2 month beat for point update.
According to Apple, 12.3 won’t be launching until the spring, so March/April.
Also they’ve been warning people about this for two years, if you wouldn’t change your software two years ago when they started warning, why should Apple pity you?
You were given two years of warning.
Now you know it’s gonna be gone in the next 2–3 months or so.
Shouldn’t be a big deal at all.
 
  • Like
Reactions: darthgreen
Not really, since macOS major releases come out in the autumn months and it makes sense to do a breaking change — even one advertised via a deprecation — with a major release.

Would’ve been better, of course, if they had removed it with macOS 12.0.
As if 11.6 to 12.0 was even that big of an upgrade.
 
  • Like
Reactions: darthgreen
Python 2 has been officially dead, since Jan 2020.

The roadmap was clear. Developers should have moved to Py3.

Having Python 2 is a liability. If you really need it, just download and install it yourself.
 
Last edited:
Roadmap, roadmap, roadmap.
Apple is absolutely horrible from an enterprise point of view. Stuff happens at any time, sure, they give 1,5 years advanced notice, but it would be nice to know EXACTLY when stuff is happening. It happens now, not at release of 12.0, and not by 13.0. It's year around feature updates, yay!
FFS Apple, learn from Microsoft!
But hey, I guess that would REALLY harm the "wow"-factor in the next keynote if they gave a timeline for removal of some script language used mostly by enterprise and developers. I'm at absolutely "wowed" by this removal, what a wonderful surprise!
The Python organization had a roadmap that said “STOP USING PYTHON 2 by 2015” in 2008. They kept changing their roadmap, FINALLY sticking to their guns in 2020. That’s 5 years of extensions even before Apple factored into it. That’s REALLY on the developer.
 
According to Apple, 12.3 won’t be launching until the spring, so March/April.
Also they’ve been warning people about this for two years, if you wouldn’t change your software two years ago when they started warning, why should Apple pity you?
You were given two years of warning.
Now you know it’s gonna be gone in the next 2–3 months or so.
Shouldn’t be a big deal at all.
And the Python organization have been warning people since 2008.
 
Python 2 has been officially dead, since Jan 2021.
Roadmap, roadmap, roadmap.
Apple is absolutely horrible from an enterprise point of view. Stuff happens at any time, sure, they give 1,5 years advanced notice, but it would be nice to know EXACTLY when stuff is happening. It happens now, not at release of 12.0, and not by 13.0. It's year around feature updates, yay!
FFS Apple, learn from Microsoft!
But hey, I guess that would REALLY harm the "wow"-factor in the next keynote if they gave a timeline for removal of some script language used mostly by enterprise and developers. I'm at absolutely "wowed" by this removal, what a wonderful surprise!Ppl
Read my reply above. It is more about time to adjust.

Apple is making two MAJOR changes in 12.3 that are breaking Enterprise solutions. These are type of issues I fully expect to work on during the 3-4 month beta, not in a 1-2 month beat for point update.
Any reason you can’t download Python2 from the Python website, or Homebrew ?
 
  • Like
Reactions: darthgreen
Sorry, but brew is a pot of really bad stew. Sure it works sometimes, is easy to get recipes, but it scatters stuff all over and depending on the recipe, may not clean up after itself. You should only use brew on machines that you regularly reformat. Just saying, so none of the children that use Macs get hurt.

So the alternatives are Fink, but it is out of date and does not currently support Big Sur which is what almost 2 years old. But it does use apt tools.

Then there is MacPorts, which is way better (although not without it faults) for security and reliability as long as it has the port you are looking for. It sucks for Perl ports that every other linux install uses.

In the end, we need a new good package manager. But alas, Apple is moving away from the command line as it is too difficult for the children. So I don't expect that to ever happen.

Something like brew is really needed, though. It's one reason why I wish Apple would get behind a package manager or do their own. I think if they want to keep their push into enterprise they will need to have something and package managers are a simple way of getting things in place. I know all the reasons why they may not but it is something needed.
 
  • Like
Reactions: nt5672
The issue isn't that they removed Python, it's that they did so without warning in a minor update.
people were warned in 2019. if you haven't moved on it is on whoever ignored Apples warning that it was going to be removed. Stop blaming Apple for lazy developers.
 
  • Like
Reactions: CarlJ
For the record, I am fine with the decision to remove it. However, I don't understand Apple's decision to remove it in a point release versus a major release. They have already kept in the OS for 1 1/2 years, why not another six months?

The issue is that there are thousands of scripts that still call #!/bin/python in Mac Admin toolkits and installed on computers will need to be re-written, either in another scripting language (bash or zsh) or translated to python3. If the admin chooses to go the Py3 route, then a version of Python3 will need to installed as well. (We install a relocatable version of Py3 for our scripting use.)
"#!/bin/python" was never a good idea (that's not even where python is installed by Apple, on many versions of macOS). For ages now, the accepted practice for the hash-pling line has been "#!/usr/bin/env python" or "#!/usr/bin/env python3". If you/they had been following that practice, then it's simply a matter of installing a python (python2) or python3 executable on the path - /usr/local/bin is popular. No scripts would have to change, and in particular, no python2 scripts would need to be rewritten in bash or zsh or python3. Anything new at this point should be written in python3, but nothing is stopping python2 code from running, if you just throw a python2 executable in a directory that's on the path.

Worst case, install python 2.7 in /usr/local/bin and symlink it into /bin, and your existing scripts (with their weird hash-pling line) will run unmodified. Suggesting that everything needs to be rewritten into another language is just silly.
 
Last edited:
  • Like
Reactions: gfbio
The time to adjust started when it was announced that support for Py2 was ending in January 2020, though. I can’t tell when this was posted, [...]
But, from the wording there, the time to adjust started in 2008. Which was extended to 2015. Which was extended to 2020.
The site pythonclock.org was running a countdown timer for when support for Python2 would expire. It was up and running on or before May 2016.

People complaining in 2022 that, effectively, "the rug has been suddenly pulled out from under us with no warning" are hilarious. I don't care if it's a major release of macOS, or a minor release, or just Friday. Every minute since January 1st 2020 has been borrowed time. The time to fix your code to run under Python 3, or even just to install your own Python2 interpreter somewhere on your path, was more than two years ago.
 
Apple is not really working towards being semver friendly this week. Removing Python 2.7 in a dot release and also making older cloud storage apps read-only. I don't care they do this (it's for the greater good), but they shouldn't do it in a point release, especially ones you can't skip as they contain security fixes.

Fortunately I'm not affected by any of the changes, but it's just bad business.
Well sure, but surely you can simply install any version of Python you like on your Mac?
 
I, too, am happy with the move. Apple's communication on this has been woeful. I think they gave the impression Python would be removed in Big Sur. But they didn't. So, those of us waiting to update our applets to point to Python3 were left wondering. So, now we now.

It's horrible that they're simply removing Python instead of updating to Python 3.

Absolutely. Instead, Apple recommend that developers include a Python3 runtime with every app. Pity the poor users who might end up with a dozen or more copies of Python3 hidden away in the various apps they like – and every version from 3.8 onwards.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.