Good Clean Python Install on Mavericks OSX 10.9

just spent the better part of an hour trying to effectively install version of python that doesn’t affect the rest of my system. This is usually pretty trivial effort according to most online articles. There are a few subtleties you might want to be aware of before you go and and well you know.

I am writing this mostly for myself so pardon the casual nature, and/or grammatical errors.

So you have a clean install of Mavericks, world is beautiful. You have a new beautiful new background and you have sudden inspiration to get some work done.

So many guides will tell you to do simply use system python which comes with easy_install and install pip with sudo.

Don’t do this, For many reasons.

  1. Homebrew always has the most recent version (currently 2.7.5).
  2. Apple has made significant changes to its bundled Python, potentially resulting in hidden bugs.
  3. Homebrew’s Python includes the latest Python package management tools: pip and Setuptools

First thing you do is install homebrew. Then do a little something like this.

brew install python

Once that is done, you will want to update your PATH variable to include the following directories in PATH

  1. /usr/local:
  2. /usr/local/bin:

You want to put local on PATH because it contains other important directories like lib and sbin.

What we are doing here is modifying the PATH variable which your system looks for commands, it will traverse the paths until it finds a match and use that. We want it to use copy of python in /usr/local

You can put these modifications in your .zshrc or .bashrc whichever floats your boat.

Now to test to see if you are using the correct python on your system (you have multiple copies now after the brew install) you want to you use

which python

If you get /usr/bin/python you either didn’t set the PATH properly or didn’t reload either .zshrc or .bashrc (here is a hint: restart your terminal)

If you get a usr/local/bin/python you are winning. You will also want to make sure you are using the correct copy of pipon your system as well, use the same steps as above.

Never install anything with sudo. Don’t listen to random READMEs online. You make the decision, my son.

Now you install things you want system wide without having to worry about breaking your system’s copy of Python.

Mahdi Yusuf

engineer, speaker, writer, and home labber.