pip is a replacement for easy_install (from pysetuptools). It uses mostly the same techniques for finding packages, so packages that were made easy_installable should be pip-installable as well. pip is meant to improve on easy_install. Some of the improvements: - All packages are downloaded before installation. Partially-completed installation doesn't occur as a result. - Care is taken to present useful output on the console. - The reasons for actions are kept track of. For instance, if a package is being installed, pip keeps track of why that package was required. - Error messages should be useful. - The code is relatively concise and cohesive, making it easier to use programmatically. - Packages don't have to be installed as egg archives, they can be installed flat (while keeping the egg metadata). - Native support for other version control systems (Git, Mercurial and Bazaar). - Uninstallation of packages. - Simple to define fixed sets of requirements and reliably reproduce a set of packages. pip is complementary with virtualenv, and it is encouraged that you use virtualenv to isolate your installation.