pip проти easy_install

easy_install, тепер застарілий, було випущено у 2004 як частину setuptools. Він був помітний у ті часи, завдяки встановленням пакунків із PyPI з використанням специфікаторів вимог і автоматичному встановленню залежностей.

pip з’явився пізніше у 2008 році, як альтернатива easy_install, хоча він все ще був значною мірою створений на базі компонентів setuptools. Він виділявся тим, що не встановлював пакунки ні як Eggs, ні із Eggs (але натомість як прості «пласкі» пакунки із sdists), вводячи ідею файлів requirements, які надавали користувачам можливість легко повторювати середовища.

Ось аналіз важливих розбіжностей між pip та застарілим easy_install:

pip

easy_install

Встановлення з колес

Так

Ні

Видалення пакунків

Так (python -m pip uninstall)

Ні

Перевизначення залежностей

Так (Файли requirements)

Ні

Перелік встановлених пакунків

Так (python -m pip list і python -m pip freeze)

Ні

Підтримка PEP 438

Так

Ні

Формат встановлення

«Пласкі» пакунки із метаданими в egg-info.

Інкапсульований формат Egg

Модифікація sys.path

Ні

Так

Встановлення із Eggs

Ні

Так

підтримка pylauncher

Ні

Так 1

Багатоверсійні встановлення

Ні

Так

Виключення скриптів під час встановлення

Ні

Так

окремі реєстри для проєктів

Лише у virtualenv

Так, через setup.cfg


1

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