distutils
— Сборка и установка модулей Python¶
distutils
является устаревшим, его удаление запланировано в Python 3.12. Дополнительную информацию см. в записи What’s New.
Пакет distutils
обеспечивает поддержку сборки и установки дополнительных модулей в установку Python. Новые модули могут быть либо 100% чистым Python, либо модулями расширения, написанными на C, либо коллекциями пакетов Python, которые включают модули, написанные как на Python, так и на C.
Большинство пользователей Python не захотят использовать этот модуль напрямую, а вместо этого воспользуются средствами кросс-версии, поддерживаемыми Python Packaging Authority. В частности, setuptools - это улучшенная альтернатива distutils
, которая обеспечивает:
поддержка декларирования зависимостей проекта
дополнительные механизмы для настройки того, какие файлы включать в исходные релизы (включая плагины для интеграции с системами контроля версий)
возможность объявлять «точки входа» проекта, которые могут быть использованы в качестве основы для систем плагинов приложений
возможность автоматически генерировать исполняемые файлы командной строки Windows во время установки вместо необходимости их предварительной сборки
согласованное поведение во всех поддерживаемых версиях Python
Рекомендуемая программа установки pip запускает все сценарии setup.py
с setuptools
, даже если сам сценарий импортирует только distutils
. Для получения дополнительной информации обратитесь к Python Packaging User Guide.
Для удобства авторов упаковочных инструментов и пользователей, стремящихся глубже понять детали текущей системы упаковки и распределения, остается доступной пользовательская документация и справочник API, основанные на наследии distutils
: