Документация Python неофициальный перевод

28.1. distutils – Сборка и установка модулей Pythondistutils – Building and installing Python modules

Пакет distutils обеспечивает сборку и установку дополнительных модулей в дистрибутив Python. Новые модули могут быть либо полностью на Python, либо модулями расширения на C, либо наборами пакетов Python, включающими модули на Python и C.

Большинство пользователей Python не захотят использовать этот модуль напрямую, а вместо этого будут использовать кросс-версионные инструменты, поддерживаемые Python Packaging Authority. В частности, setuptools – это расширенная альтернатива distutils, которая предоставляет:

  • поддержка объявления зависимостей проекта
  • дополнительные механизмы для настройки того, какие файлы включать в исходные релизы (включая плагины для интеграции с системами контроля версий)
  • возможность объявлять «точки входа» проекта, которые могут использоваться как основа для систем плагинов приложений
  • возможность автоматически генерировать исполняемые файлы командной строки Windows во время установки вместо необходимости предварительно их собирать
  • единообразное поведение во всех поддерживаемых версиях Python

Рекомендуемый установщик pip запускает все скрипты setup.py с setuptools, даже если сам скрипт импортирует только distutils. Дополнительную информацию см. в Python Packaging User Guide.

Для пользы авторов инструментов упаковки и пользователей, стремящихся к более глубокому пониманию деталей текущей системы упаковки и распространения, устаревшая документация пользователя, основанная на distutils, и справочник API остаются доступными: