Makes you forget that you have virtualenv's (if you use cd). Works in Zsh.
Add this line to your .zshenv
source /path/to/virtualenv-autodetect.sh
Virtualenv will be activated automatically when you enter the directory or it's descendant of any depth.
Active virtualenv will be replaced with deeper one on changing dir to it.
Virtualenv will be deactivated automatically upon changing dir to one that has no parent virtualenv.
Virtualenv directory is detected automatically by bin/activate inside it.
Venv prefix won't be shown as it's not needed any more (for me at least).
Inspired and faintly based on https://gist.github.com/2211471