Python on Mac and Homebrew Mess

Just a quick one this time. I needed a newer version of Python on my Mac. This article provides a very exhaustive explanation of what to do. When following its advice, I got into a mess with Homebrew. Basically, it needed to be updated, upon which it required changing the ownership of /usr/local:

$ brew update
Error: /usr/local is not writable. You should change the ownership and permissions of /usr/local back to your user account:
  sudo chown -R $(whoami) /usr/local

I didn’t want to mess around with this, and I figured that it was time to reinstall Homebrew anyway. And yes, it solved the problem.

Here’s a quick digest of the above article and Homebrew’s Github page, which contains the uninstall and install scripts.

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

$ brew install pyenv
$ pyenv install --list
$ pyenv install 3.8.3
$ pyenv global 3.8.3
$ echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bashrc

So, the above reinstalls Homebrew (which can be useful if you’re running something hopelessly old), and then it installs Python 3.8.3. Since the last line writes to .bashrc, a new shell is required.

Leave a Reply

Your email address will not be published. Required fields are marked *