Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Модули distutils, Setuptools, pip Python: Настройка окружения

Вы уже знаете, что для установки, обновления и удаления пакетов часто применяются пакетные менеджеры. Один такой менеджер мы рассмотрим в этом уроке, но сначала немного поговорим о фундаменте системы пакетирования Python.

Пакеты distutils и Setuptools

В поставку Python входит пакет distutils. Он отвечает за создание дистрибутивов — архивов кода, которые могут быть распакованы в целевом окружении и установлены так, чтобы интерпретатор Python увидел распакованный код. При создании пакета программист заходит в корневую директорию будущего пакета и создает там файл setup.py, в который импортирует из модуля distutils функцию setup и вызывает ее. Таким образом каждый пакет содержит в себе программу для управления собой.

Подробнее о том, как работает distutils, можно почитать в официальной документации к пакету, а мы сразу двинемся дальше.

Дело в том, что пакет distutils существует уже довольно давно и поэтому уже не очень удобен в использовании. Гораздо чаще используется надстройка над distutils — пакет Setuptools.

Собранные с помощью Setuptools пакеты уже умеют предоставлять метаданные: описание, версию, и собственные зависимости. Без Setuptools сложно обойтись, поэтому стоит научиться его использовать. Сделать это можно с помощью документации.

Дальше в рамках этого курса мы будем рассматривать более простой инструмент для создания пакетов и загрузки их в индекс — Poetry, с которым мы познакомимся попозже.

После того как пакет создан и загружен в индекс, его можно использовать — скачать, распаковать во временную директорию, оттуда запустить python3 setup.py install и таким образом установить пакет. Но есть и способ попроще.

Программа pip

Каким бы способом пакет ни был создан и загружен в индекс, его нужно скачивать и устанавливать, причем со всеми зависимостями. Сейчас этим в основном занимается специальная программа pip — The Python Package Installer.

Обо всех возможностях pip вы сможете почитать в документации. Мы же рассмотрим только самую важную функцию pip — установку пакетов. В следующем уроке мы установим сам pip и с помощью него установим в окружение первый пакет.


Дополнительные материалы

  1. distutils - Building and installing Python modules
  2. Setuptools - Collection of enhancements to the Python distutils
  3. pip - The Python Package Installer

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
Обучитесь разработке бэкенда сайтов и веб-приложений — серверной части, которая отвечает за логику и базы данных
10 месяцев
с нуля
Старт 21 ноября
профессия
новый
Собирайте, анализируйте и интерпретируйте данные, улучшайте бизнес-процессы и продукт компании. Обучитесь работе с библиотеками Python
9 месяцев
с нуля
Старт 21 ноября

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»