На прошлом уроке мы познакомились с пакетами и индексами, давайте же узнаем, как устанавливать пакеты из индекса! Для установки, обновления и удаления пакетов часто применяются так называемые пакетные менеджеры (или менеджеры пакетов). Один такой мы рассмотрим, но сначала немного поговорим о фундаменте системы пакетирования Python.
В поставку Python входит distutils, пакет, отвечающий за создание дистрибутивов — архивов кода, которые могут быть распакованы в целевом окружении и установлены так, чтобы интерпретатор Python "увидел" распакованный код. При создании пакета программист создаёт в корневой директории будущего пакета файл setup.py
в котором импортирует из модуля distutils
функцию setup
и вызывает её. Таким образом каждый пакет содержит в себе программу для управления собой!
Подробнее о том, как работает distutils, можно почитать в официальной документации к пакету, а мы сразу двинемся дальше. Дело в том, что пакет distutils появился довольно давно и сейчас сам по себе не очень удобен в использовании. Гораздо чаще используется надстройка над distutils, пакет setuptools.
Пакеты, собранные с помощью setuptools, уже умеют предоставлять метаданные: описание, версию, и самое главное — собственные зависимости! Пакеты, которые не зависят ни от чего, кроме самого Python, настолько редки, что без setuptools — можно сказать, "жизни нет". Про этот пакет стоит знать и со временем нужно будет научиться его использовать (опять же, с помощью документации), но в рамках этого курса мы будем рассматривать более простой инструмент для создания пакетов и загрузки их в индекс — poetry, с которым мы познакомимся попозже.
После того, как пакет создан и загружен в индекс, его можно скачать, распаковать во временную директорию, оттуда запустить python3 setup.py install
и пакет установится. Но это слишком утомительный и непростой путь, есть способ лучше!
Каким бы способом пакет ни был создан и загружен в индекс, его нужно скачивать и устанавливать, а по необходимости — и со всеми зависимостями. Сейчас этим в основном занимается специальная программа pip — The Python Package Installer.
pip — большая и сложная программа. Обо всех возможностях вы, как всегда, сможете почитать в документации. Мы же рассмотрим только самую важную функцию pip — установку пакетов. В следующем уроке мы установим сам pip и с помощью него установим в окружение первый пакет!
Вам ответят команда поддержки Хекслета или другие студенты.
Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.
Загляните в раздел «Обсуждение»:
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт