I am confused. You start with
brew install cryptopp swig qt pyqt wget
installing pyqt (and its dependencies, including sip) into the system site-packages. Then you create a virtualenv only to download/build/install these two into it. At this point that seems unneccesary, line 20-39 can be dropped completely. (and it indeed worked when I tried, bit I didn't run your script)
edit: not only unnecessary, but it doesn't even work without the brew-installed pyqt package. The makefiles of PyQt are messed up, and don't like to be installed within a virtualenv, some paths will point to the system-wide packages, and will produce problems such as:
../../QtDBus/sipAPIQtDBus.h:33:10: fatal error: 'sip.h' file not found
This is one of the things that held me back yesterday when trying to do everything strictly inside the virtualenv. The solution is to
find . -name Makefile|xargs sed -i orig 's/\/System\/Library\/Frameworks\/Python\.framework\/Versions\/2\.7\/include/\/path_to_virtualenv\/include/g'
replacing all the incorrect include paths.