# 27.1. `distutils` — Création et installation des modules Python

Le package `distutils` fournit le support pour la création et l’installation de modules supplémentaires dans une installation Python. Les nouveaux modules peuvent être soit en Python pur à 100%, soit des modules d’extension écrits en C, soit des collections de paquets Python qui incluent des modules codés en C et en Python.

La plupart des utilisateurs de Python ne voudront pas utiliser ce module directement, mais plutôt les outils cross-version maintenus par la Python Packaging Authority. En particulier, setuptools est une alternative améliorée à `distutils` qui fournit :

- support pour la déclaration des dépendances de projets
- mécanismes supplémentaires pour configurer quels fichiers inclure dans les distributions source (y compris les extensions pour l’intégration avec les systèmes de contrôle de version)
- la possibilité de déclarer les « points d’entrée » du projet, qui peuvent être utilisés comme base pour les systèmes d’extensions
- la possibilité de générer automatiquement des exécutables en ligne de commande Windows au moment de l’installation plutôt que de devoir les pré-construire
- comportement cohérent entre toutes les versions Python supportées

Le programme d’installation recommandé pip exécute tous les scripts `setup. py` avec `setuptools`, même si le script lui-même n’importe que `distutils`. Pour plus d’informations, reportez-vous au Python Packaging User Guide.

À destination des auteurs et utilisateurs d’outils d’empaquetage cherchant une compréhension plus approfondie des détails du système actuel de création de paquets et de leur distribution, la documentation utilisateur historique de `distutils` la référence de son API restent disponibles :

- installation des modules python (Version historique)
- Distribuer des modules Python (Version historique)