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

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 109 :
 
Une archive bdist de base ne contient pas le script setup.py, de PKG-INFO, et ignore les MANIFEST et autres fichiers inclus par sdist, c'est en effet à l'outil final (apt-get, .msi, ...) que revient la tâche de faire l'installation. Il produit cependant un fichier d'extension *.egg-info qui contient les mêmes données que PKG-INFO.
 
== Setuptools ==
 
Setuptools permet en utilisant le format binaire <code>bdist_egg</code>, un répertoire de modules python centralisé '''pypi''' et l'utilitaire <code>easy_install</code>, de télécharger un projet en python quel que soit la plateforme, contrairement aux anciens format .rpm ou .exe non specifiques à python, depuis une invite de commande. Par exemple <code>easy_install Pil</code> télécharge ce module, le décompresse puis l'installe suivant les spécifications du format egg. Pour l'utiliser on remplace <code>from distutil.core import setup</code> par <code>from setuptools import setup</code> dans le fichier <code>setup.py</code>, la génération d'un egg se fait ainsi
 
python setup.py bdist --formats=egg # a condition d'importer setuptools dans setup.py
 
Une fois l'egg produit, on peut l'installer en faisant pointer easy_install dessus, <code>easy_install d:chemin/vers/le/fichier/egg</code>, l'uploader sur pypi, le champ <code>name</code> de <code>setup()</code> est utilisé comme clé doit être unique et ne pas être déjà utilisé, ce qui permet à tout le monde d'installer son module avec <code>easy_install <name></code>.
 
== Références ==