The basic problem being addressed is one of dependencies and versions, and indirectly permissions. Imagine you have an application that needs version 1 of LibFoo, but another application requires version 2.
How can you use both these applications? If you install everything into /usr/lib/python2.4/site-packages (or whatever your platform's standard location is), it's easy to end up in a situation where you unintentionally upgrade an application that shouldn't be upgraded.
Or more generally, what if you want to install an application and leave it be? If an application works, any change in its libraries or the versions of those libraries can break the application.
Also, what if you can't install packages into the global site-packages directory? For instance, on a shared host.
In all these cases, virtualenv can help you. virtualenv creates an environment with its own installation directories, that does not share libraries with other virtualenv environments (and optionally does not use the globally installed libraries either).
What's New in This Release: [ read full changelog ]
· Updated to pip 1.3.1 that fixed a major backward incompatible change of parsing URLs to externally hosted packages that got accidentily included in pip 1.3.