Overview
Virtual environments are useful tools that allow you to maintain a seperate set of packages for each project you are working on. This approach has several advantages over maintaining a central package installation common to all projects:
- Virtual environments allow you to clearly communicate your code's required dependencies to your collaborators, reducing the time needed to onboard new collaborators.
- Virtual environments allow you to keep seperate versions of packages for each project, so you can use software only compatible with a specific version of a package.
- Updating dependencies for one project will never break dependencies for another project.