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.

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

Вернуться на верх