← 返回首页
pip vs easy_install - Python Packaging User Guide Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode
Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Toggle site navigation sidebar
Toggle Light / Dark / Auto color theme
Toggle table of contents sidebar
Back to top
Toggle Light / Dark / Auto color theme
Toggle table of contents sidebar

pip vs easy_install

easy_install, now deprecated, was released in 2004 as part of Setuptools. It was notable at the time for installing packages from PyPI using requirement specifiers, and automatically installing dependencies.

pip came later in 2008, as an alternative to easy_install, although still largely built on top of Setuptools components. It was notable at the time for not installing packages as Eggs or from Eggs (but rather simply as ‘flat’ packages from sdists), and introducing the idea of Requirements Files, which gave users the power to easily replicate environments.

Here’s a breakdown of the important differences between pip and the deprecated easy_install:

pip

easy_install

Installs from Wheels

Yes

No

Uninstall Packages

Yes (python -m pip uninstall)

No

Dependency Overrides

Yes (Requirements Files)

No

List Installed Packages

Yes (python -m pip list and python -m pip freeze)

No

PEP 438 Support

Yes

No

Installation format

‘Flat’ packages with egg-info metadata.

Encapsulated Egg format

sys.path modification

No

Yes

Installs from Eggs

No

Yes

pylauncher support

No

Yes [1]

Multi-version installs

No

Yes

Exclude scripts during install

No

Yes

per project index

Only in virtualenv

Yes, via setup.cfg

[1]

https://setuptools.readthedocs.io/en/latest/deprecated/easy_install.html#natural-script-launcher

Made with Sphinx and @pradyunsg's Furo
Last updated on May 21, 2026