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

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 120 :
Avec distutils, MANIFEST.in ne sert que pour les distributions source, et <code>package_data</code> pour les installations, ce qui entraine une redondance. Setuptools ajoute une option booleene <code>include_package_data</code><ref name="">https://github.com/pypa/setuptools/commit/4cd66c4147bef3ee8096f7161d407fb37582f1c9</ref> de sorte que le fichier MANIFEST.in soit le seul à être utilisé, pour le paquetage et pour l'installation finale, ce qui déprécie <code>package_data</code>. L'usage de package_data a toutefois été rétabli plus tard pour permettre de n'installer des fichiers que lors d'une installation et non lors d'une distribution source, depuis une arborescence complète récupérée depuis git<ref>https://github.com/pypa/setuptools/commit/d98923012</ref>, il devient aussi possible d'exlure des fichiers <code>glob</code>és par package_data, de la même manière que <code>distutils</code> via MANIFEST.in<ref>https://docs.python.org/fr/3/distutils/commandref.html#sdist-cmd</ref>, avec l'argument <code>exclude_package_data</code>. Pour éviter la redondance, l'usage exclusif de MANIFEST.in est recommandé.
 
En 2005, il est possible d'inclure dans les distributions source tout le contenu suivi par cvs ou svn, à condition qu'il n'y ait pas de fichier MANIFEST.in à la racine du projet. Pour git cette fonctionnalité est assurée par le greffon <code>'''setuptools_scm'''</code>, on l'active ainsi
 
from setuptools import setup