Virtual environments can be described as isolated installation directories. They allow you to localize the installation of your project’s dependencies, without forcing you to install them system-wide. You can have multiple environments, with multiple sets of packages, without conflicts among them. This way, different projects’ requirements can be satisfied at the same time.