IMO pew is better than virtualenvwrapper because it doesn’t depend on the activate/deactivate scripts inside each virtual environment. When activating a virtualenv with pew, instead of sourcing it into the existing shell process, it launches a sub-shell, thus providing better isolation.

https://github.com/berdario/pew Prefer Subshells for context