Fantomas’side

Weblog open-source

Distribuer une application Django en moins de 5 minutes

Vous venez de finir votre dernière application en Django, qui se veut réutilisable et distribuable. Félicitations :).

Désormais vous voulez automatiser l'installation et la distribution du paquet, et pourquoi pas le rendre installable facilement en 1 ligne de commande, sous la forme d'eggs.

Le plus simple est de réaliser un script d'installation basé sur distutils qui permettra de télécharger et d'installer le code en quelques secondes. L'idée est de paqueter le module à distribuer avec un script nommé setup.py se chargeant de l'installation.

Mais réaliser ce script est parfois assez contraignant et long, surtout ex nihilo...

Pour cela nous allons utiliser PasteScript et un jeu de templates pour Django pour nous créer automatiquement la structure du script.

Prérequis

Désormais on va créer la structure du package avec cette commande :

$ paster create -t django_app mon_application

Plusieurs questions importantes vous seront posées pour créer la structure de votre distribution, répondez soigneusement.

Désormais dans ce dossier nous avons un fichier setup.py et un dossier mon_application. Le template utilisé crée automatiquement des fichiers pour réaliser une application Django. C'est là où il vous faut mettre votre code.

Maintenant éditez votre fichier setup.py pour le personnaliser un peu.

Grâce aux commandes intégrées vous pouvez distribuer votre application facilement.

Pour l'enregistrer sur Pypi et le rendre disponible via easy_install :

$ python setup.py sdist bdist_egg register upload

Pour installer votre application il suffit désormais de faire :

$ easy_install mon_application

Ou dans le cas où on a téléchargé les sources :

$ python setup.py install

Simple, rapide et efficace non ?