Python Virtual Environments: A Guide