As I was fiddling some bash scripting on osx, I seemed to have done irreparable damage to my python installation.
Long story short, I typed hash python in the terminal and now I can't use python.
Lets say I try:
python code_to_run.py 
I get:
python is hashed (/path/to/my/python)
I've tried hash -r and hash -d python to no avail.
Any suggestions?
In the manual for Bash:

hash [-lr] [-p filename] [-dt] [name]
Each time hash is invoked, the full pathname of the command name is determined by searching the directories in $PATH and remembered.
Any previously-remembered pathname is
discarded.  If the -p option is supplied, no path search is performed, and filename is used as the full file name of the command.
The -r option causes the shell to forget
all remembered locations.  The -d option causes the shell to forget the remembered location of each name.  If the -t option is
supplied, the full pathname  to  which  each
name corresponds is printed.  If multiple name arguments are supplied with -t, the name is printed before the hashed full pathname.
The -l option causes output to be dis-
played in a format that may be reused as input.  If no arguments are given, or if only -l is supplied, information about remembered
commands is printed.  The return status
is true unless a name is not found or an invalid option is supplied.

hash -r worked for me (I guess if you have an important hash then this is not for you). First time I noticed this system.
OSX -- python is hashed (/urs/local/cellar/python/2.7/etc)