How Do Python Virtual Environments Work