I install Python with homebrew (on OS X) and manage my packages with virtualenv. I was interested in whether updating from Python 2.7.3 to 2.7.4 would cause my virtualenvs to break. It did, but fixing them turned out to be very simple:
First, of course,
$ brew upgrade python; brew cleanup python, which installed Python 2.7.4 and then removed 2.7.3.
According to this post, re-running virtualenv suffices to update the paths inside a virtualenv (the installed packages remain, and you shouldn't need to re-install or recompile anything after a minor version update):
$ virtualenv path/to/your-existing-virtualenv
Finally, for globally-installed packages with executable scripts in
/usr/local/share/python(including the homebrew-supplied pip), I also needed to change the first (hashbang) line in each file, replacing
2.7.3in the path with
This is easily done with the find and replace feature of your favorite text editor.
And voilà, everything works again.