Ответ 1
Типы пакетов
Egg vs Wheel vs Ни один. То, что не подразумевается ни тем, что пакет python может быть установлен из его "источника" без упаковки в виде яйца или колеса.
Утилиты для упаковки
Существует несколько библиотек, которые предоставляют утилиты для упаковки приложений python, включая distutils и setuptools. На этом уже есть отличный пост.
easy_install
Часть setuptools, позволяет создавать и устанавливать пакеты python. Часто разочаровался в пользу Пипа. Предназначен для упрощения установки пакетов, выполняя основную загрузку и перемещая их в нужное место для вас (отсюда и название).
Pip
Менеджер пакетов для пакетов python и замена easy_install! Смотрите здесь по некоторым причинам, почему люди предпочитают это с помощью easy_install. Может выполнять аккуратные вещи, например, устанавливать пакет непосредственно из репозитория git или компилировать расширения C на целевой машине. Последнее является спорным относительно того, желательно ли это, но тем не менее это хорошая функция, если вы этого хотите.
PyPI
Индекс пакета python, где easy_install и Pip ищут доступные пакеты, по умолчанию. В основном это гигантский онлайн-репозиторий модулей, которые принимаются сообществом.
virtualenv
Способ взлома переменных среды для "изоляции" установки python и связанных с ней модулей. Предпочитает Pip, потому что Ian Bicking написал их обоим. В основном, вы используете pip для установки virtualenv system wide, который затем позволяет создавать виртуальные среды python, каждый из которых имеет собственную копию python, pip и различных модулей. Это позволяет вам иметь несколько версий python или устанавливать модуль только для тестирования, не сбрасывая общесистемную установку python.
virtualenvwrapper
Действительно удобная оболочка script, которая упрощает создание и отключение виртуальных сред.
сайт-пакеты
Одно из поддерживаемых мест для установки модулей python. Живет где-то вроде /usr/lib/pythonX.X/site-packages
. Другие поддерживаемые местоположения, такие как dist-packages
или пользовательские местоположения.
Что все это значит для вас?
Я бы рекомендовал вам не обращать внимания на easy_install и просто использовать pip. Также всегда используйте virtualenv. Как правило, единственными модулями python, которые вы должны установить в системной среде на своей рабочей станции, являются pip и virtualenv. Я полностью игнорировал яйца и колеса, но если вы планируете профессионально распределять пакеты или размещать их на PyPI, вы, вероятно, захотите их исследовать. Кроме того, если вы создаете пакеты python, вам нужно научиться писать настройку script с помощью setuptools. Моя рекомендация - никогда не использовать distutils.
Еще немного чтения
Страница на python.org об упаковке, которая охватывает многие из этих тем
Пакет Python - это кошмар
Отличная статья, которая идет вразрез с наиболее распространенными рекомендациями, включая мои!