http://docs.python-guide.org/en/latest/starting/install/osx/...
http://docs.python-guide.org/en/latest/starting/install/osx/...
In the real world, a typical pip requirements.txt file will have a mix of package names (which pip looks for and downloads from an index like pypi), git repo urls (eggs installed directly from a git server, eg from github) and bleeding edge track the latest changes -e git-repo#egg=eggname urls. That you can switch between these with ease is important, eg to switch to using your fork of some package rather than the last official release.
I'd never have believed a day would come where something like Homebrew would ever gain the traction it has.
Think that virtualenv is way to package a complete Python environment together with the package you need or are working on.