Pour deployer une application python: http://sametmax.com/creer-un-setup-py-et-mettre-sa-bibliotheque-python-en-ligne-sur-pypi/ 1- Créer sa lib (ici: "lib_exemple") 2- la mettre dans un dossier portant le même nom: - lib_exemple - MANIFEST.in [un fichier texte qui liste les fichiers non Python qu’on inclura dans l’installation] - README.md [un fichier markdown contiendra une présentation du package] - setup.py - lib_exemple - main.py - core - ui ...Etc 3- pour l'installeur, on devrait utiliser distutils ou setuptools (plus complet, gère les dépendances) 4- rendre notre paquet plus facile à utiliser - en documentant: on décrit le package dans __init__, le module dans l'en-tête du fichier, puis chaque fonction - en faisant les differents imports depuis le __init__ principal, de manière à ce que l'utilisateur puisse faire import lib_exemple.calcul plutôt que lib_exemple.core.calcul - en creant une variable __all__ = ['calcul'] pour limiter les fonctions importables avec * - en ajoutant une version: __version__ = "0.0.1" 5 - dans le readme: - A quoi sert la lib. - Comment l’installer. - Un exempe concret d’utilisation. - La licence d’utilisation. - Un lien vers la doc si elle existe au format markdown: https://daringfireball.net/projects/markdown/basics 6 - dans le manifest, ajouter des include et recursive-include pour ajouter les fichiers non python 7- creer le setup.py (cf PJ) 8- dans le dossier principal, executer: python setup.py install 9- si la lib s'est bien installée, on doit pouvoir faire avec la console python: > from lib_exemple import fonction_test > fonction_test() et avec l'invite de commande si on a créé des commandes dans le setup 10- pour enregistrer sur Pypi (et rendre la lib installable avec pip): python setup.py register - choisir option 2 la première fois et créer son compte, puis choisir 1 ensuite le but est d'obtenir ceci: Registering lib_exemple to http://pypi.python.org/pypi Server response (200): OK puis executer: python setup.py sdist upload 11- par la suite, pour uploader à nouveau, le numero de version doit être modifié