Quick guide to virtualenv

So, recently I’ve had a work mate start preaching about how we should all be using “virtualenv” for everything python/Ansible related, however, they failed to explain the why’s and how’s of virtualenv.

A quick google search brought up this how to article which does a pretty good job of explaining why you would want to use it (separate project dependencies) and then goes on to detail how to use the tool.