I just spent the better part of an hour trying to effectively install a 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, the 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
Don’t do this, For many reasons.
- Homebrew always has the most recent version (currently 2.7.5).
- Apple has made significant changes to its bundled Python, potentially resulting in hidden bugs.
- 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
You want to put
PATH because it contains other important directories like
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
You can put these modifications in your
.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:
If you get
/usr/bin/python you either didn’t set the PATH properly or didn’t reload either
.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
pip on 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.