« Distribuer un projet en python » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 34 :
setup()
 
Cet exemple introduit '''setuptools''', qui est un module tiers à python que vous devez installer au préalable via <code>python -m pip install setuptools</code> et qui est un sur-ensemble de setuptools; c'est à dire qu'il permet de faire tout ce que distutils peut faire, mais en y ajoutant la possibilité. Distutils existe depuis 1998, Setuptools depuis 20022005, a été construit comme une extension à celui-ci, et de manière concurrente à zc.buildout<ref>https://www.python.org/community/sigs/current/distutils-sig/</ref>, au final setuptools a été retenu comme outil officiel au final. Ils ont la particularité d'importer la fonction setup de distutils et de l'appeler avec les même arguments qu'ils ont reçu en entrée, on peut résumer le fonctionnement de ces outils ainsi.
 
# fichier setuptools/setup.py ou zc.buildout
Ligne 43 :
distutils_setup(**args)
 
De la même manière les fichiers qui executentexécutent les commandes (setup, build, sdist...) importent le fichiers de distutils et l'appellent tout en y ajoutant leurs propres fonctionnalités. ''Tout ce que l'on peut faire avec distutils, on peut le faire avec setuptools'' (ou presque). Si l'objectif de distutils est de produire des bundles installables à telle ou telle plateforme, celui de setuptools est assez multiple, mais principalement de produire des eggs spécifiques à python, et couplé avec l'utilitaire easy_install, de simplifier l'installation et la désinstallation (ce que distutils ne permet pas de faire) de paquetages en python, et distribuables sans necessité de build. Mais pour bien les comprendre il faut comprendre comment distutils fonctionne et comment il est possible de l'étendre.
 
== Références ==