virtualenv is a tool to create isolated Python environments. A virtual environment has its own Python libraries, and can have different versions of libraries from other environments. Using this, you can avoid version conflicts for different applications.