Good Clean Python Install on Mavericks OSX 10.9

I 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 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.

Swaggin’.

Getting Organized.

I am not a particularly disorganized person, but I am a person who does avoid organizing things. 

I recently saw the computer of a friend of mine who had everything organized meticulously. I mean to the point where when he works on something he has all related material, all organized by year and by type.

He doesn’t share this information when works openly, but it was awe inspiring. 

This is incredible for two reasons he can look back on what he has done over the years and see how things are being done, and clearly see his improvement, plus all that nostalgia that comes with it. 

But, what really got me is that the mental structure he had for everything, there is very little for your mind to be worried about, no extra decisions to be made, just do what you set out to do. Beautiful. 

I have taken the stance for many years; just keep what i need, don’t hold on to nothing, once it’s served its purpose be done with it. no maintaining, no managing.

"Don’t let yourself get attached to anything you are not willing to walk out on in 30 seconds flat if you feel the heat around the corner." —  Neil McCauley

I used to be the type of guy who use to categorize and label everything, then something just happened, got too busy or whatever excuse is handy and stopped doing it. 

Currently here is a snapshot of my downloads folder. 

This would have drove me nuts a few years ago, and everytime I dive in there I always cringe, but I made a decision, and its time to make another one.

So here is to getting more meticulous.

Remember to Experiment

This is mostly a note to myself that will probably come back and reference/update from time to time. 

Remember to Experiment

Do not forget this. Experimenting is how you find and create new things. Attempt new things, look for interesting problems. Plus its just plain old fun. Do the wacky stuff.

Think like a beginner

Take a fresh look at problems, don’t go through your mental catalog of past problems. Each problem is unique and it has its own set of unique solutions. You might surprise yourself, with what you come up with.

Thought catalog

Remember to jot down recurring thoughts, you are likely not the only one who has them, there might be just something to them.

Take your time

This isn’t a sprint it’s a marathon, slow down silly rabbit.

Independent Study

Just learn for the fun of it, you never know what might come in handy. Derive your own conclusions, share with others. 

Be positive.

Affects both you and others.