Scripting languages deprecated in Catalina

With the announcement that various scripting languages (python, ruby, etc) will apparently no longer be bundled with macOS in Catalina, I am wondering something which I haven’t seen anything about thus far.

I use python extensively for various scripting and automation projects. While the majority of my use cases sticks to to the “standard” python installation, I do have a few things that are dependent on the (probably now dead) pyobc bridging that allowed me to import the various macOS frameworks (like Foundation, CoreGraphics, etc).

I wonder: will any of that still be available in Catalina, or is that all going to disappear?

I’m not sure, but it seems like a good case to install Catalina in a Virtual Machine and test it out.

You typed "pyobc”, did you mean “pyodbc”?

Yes, I did mean pyobc - the bridge between python and objective C.

@tjluoma: well, the problem is that eventually I would have to install Catalina “for real.” Hopefully by the time I get to installing Catalina (I usually wait for the .1 release to ensure some of the biggest bugs have been addressed), this will be something that others have experimented with.

I suspect it’s time to not only start upgrading my scripts to Python3, but also to learn Swift.

Forgive me if I misunderstood your requirements, but you’ll have no trouble installing the python and ruby versions you need with either Homebrew or an environment-file-based version manager (like rbenv for Ruby.)

1 Like

I couldn’t find anything about pyobc but I did find pyobjc.

I am expecting that package managers like Homebrew and Macports will continue to work on Catalina and beyond (in fact, I believe that Apple is expecting the same).

I use Macports and it has both python and pyobjc. Of course these may need to be updated to work on Catalina.

1 Like

Good practice is to use these other languages in a “virtual” part of your OS to keep the part of OS’s scripting languages pristine so that the machine continues to work without you messing about.

I use Anaconda for Python and R. Also used with success Virtualenv with Python. With Anaconda I have an environment for Python2 (my production stuff) and Python3 (to where I’m making changes to turn the Python2 stuff into Python3).

So … it doesn’t matter that Apple taking these scripting languages out of their next OS version–as long as they do nothing that stops me installing my own stuff as described. Can’t see that happening within the foreseeable future, but then …

Agree. What might change is that they apparently have to re-write everything they previously had in place reliant on these languages which introduces the risk of more un-noticed bugs.

1 Like

I’m glad they’re removing Python2, as it was something I was bumping against when trying to get Python3 installed.

The move to zsh is interesting. I’ve just started using it recently along with oh my zsh. (Which I haven’t completely gotten my head around yet.)

Yeah, I really don’t get this one either. I’m undecided whether to go to zsh or stick with bash (assuming it’s available).

As long as there’s homebrew, you can choose your poison. So to speak.

Thanks all. I don’t think I expressed myself clearly in my OP.

I certainly am familiar with installing Python 3 and any other things I might need via homebrew (although there is the interesting question of how to install homebrew itself since that needs ruby which won’t be installed with Catalina, but that’s for another thread).

I am wondering about the Python classes that provide an interface to Cocoa. For example, presently I am importing WebKit and AppKit into a python (2.7) script.

What I am wondering is what happens to those modules if Apple is no longer planning to ship MacOS with out-of-the-box python support.

1 Like

Are you asking “Is pyobc going to be updated for Catalina?”

I use MacPorts but of course your point is well taken.

From what I have read, Oh My Zsh is the main advantage of zsh. Personally I prefer a minimalist shell, so all the whizbang colors and themes don’t interest me at all. I need to know what’s in there that will give me something useful that bash doesn’t have.

I think it’s trivially simple: the license for zsh allows Apple to include the latest version with macOS, and the license for bash does not.

I’ve used zsh since the early '90s and think it’s a great interactive shell and it’s what I write all my shell scripts in. There’s a very helpful mailing list too.

zsh has been intentionally developed by a small team for a long time, and they’ve integrated the best features from other shells. I don’t know why anyone would use anything else.

That being said, the zsh folks aren’t overly interested in evangelism. If you want to use it, they’ll help you. But they aren’t going to write a whole bunch of articles about why it’s the best option. That’s just not their style. You can find plenty of articles from other folks describing what people like about it.

FWIW, I don’t use oh-my-zsh or any of the other fancy stuff, but I’m glad it’s there for folks who like to use that sort of thing.


I never even thought of the licensing aspect. Thanks @tjluoma!

Don’t try to install Python3 directly on the Mac. As you discovered, hard to do and even if you succeeded you may have broken a lot of things. Use a virtual environment (virtualvm, Anaconda, etc.)

Could you expand on this?

Yep. Pain in the ass when you’re a noob and you learn this deprecated software that was replaced 10 years ago can break your system if removed.

Not sure how far to expand this, but here are some links to read:

I like Anaconda as it “just works” for my multiple Python environments, and for R and comes pre-installed with a lot of the stuff I want–saving me hassle. As described above, I have multiple Anaconda environments Python2 for my “production”, and “Python3” for my project to migrate the Python2 app into Python3. I also have an “R” environment that I play with. All environments are completely independent of MacOS’s version of Python which I leave alone.

It’s really bad form to install updates or changes to Mac OSX’s version of Python. Leave it alone!

I have used virtualenv and have no problem with it. Just found Anaconda easier to explain to my colleagues and successors.