28.1. distutils — Compilação e instalação de módulos do Python


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 do aplicativo.

  • 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: