# `distutils` — Criação e instalação de módulos do Python

`distutils` foi descontinuado com remoção planejada para Python 3.12. Veja a entrada O que há de novo para mais informações.

O pacote `distutils` fornece suporte para criar e instalar módulos adicionais em uma instalação do Python. Os novos módulos podem ser um Python 100% puro, podem ser módulos de extensão escritos em C ou podem ser coleções de pacotes Python que incluem módulos codificados em Python e C.

A maioria dos usuários do Python não deseja usar esse módulo diretamente, mas usa as ferramentas de versão cruzada mantidas pela Python Packaging Authority. Em particular, setuptools é uma alternativa aprimorada para o `distutils` que fornece:

- suporte para declaração de dependências do projeto

- mecanismos adicionais para configurar quais arquivos devem ser incluídos em lançamentos de fonte (incluindo plugins para integração com sistemas de controle de versão)

- a capacidade de declarar “pontos de entrada” do projeto, os quais podem ser usados como base para sistemas de plugin da aplicação.

- a capacidade para gerar automaticamente executáveis de linha de comando do Windows em tempo de instalação em vez de precisar de reconstruí-los

- comportamento consistente em todas as versões suportadas do Python

O instalador pip recomendado executa todos os scripts `setup.py` com `setuptools`, mesmo que o próprio script importe apenas `distutils`. Consulte o Guia do Usuário de Pacotes Python para obter mais informações.

Para os benefícios dos autores e usuários da ferramenta de empacotamento que buscam uma compreensão mais profunda dos detalhes do atual sistema de empacotamento e distribuição, a documentação legada baseada no `distutils` e a referência de API permanecem disponíveis:

- Instalando módulos Python (versão legada)

- Distribuindo Módulos Python (Versão legada)