By Ingeniweb. A Django site.
Juillet 8, 2008
» Packager ses scripts Python

Bon nombre de gens utilise python pour faire de petits scripts. Le problème c'est que pour les distribuer, ensuite, c'est pas le top.

Heureusement il y a distutils !!

distutils est un paquet inclus dans les distributions python permettant de créer des paquet python.

Le principe est simple. On englobe un module python dans un paquet contenant un fichier setup.py

Le plus simple est d'utiliser paste pour créer son paquet. Renseignez bien les information demandées. Elles seront visible si vous décidez de distribuer votre paquet par la suite. Donc:

$ easy_install -U Paste
$ paster create monscript
$ cd monscript
$ ls
monscript/ monscript.egg-info/ setup.cfg setup.py

Ceci nous créer un répertoire monscript contenant un setup.py et un sous répertoire destiné à recevoir le code python.

Nous devons maintenant créer un point d'entrée pour notre script. Pour cela, nous allons modifier monscript/__init__.py pour qu'il ressemble à ça:

def main():
    print 'Yeah !'

Ensuite, en modifiant le fichier setup.py, nous pouvons associer ce point d'entrée à un véritable script qui sera installé à l'installation du paquet. Modifiez la section entry_points du setup.py pour qu'il ressemble à quelque chose du du genre:

entry_points="""
# -*- Entry points: -*-
[console_scripts]
mon_super_script = monscript:main
""",

Voilà, le tour est joué. Alors, pourquoi tout cela pour un simple script ? C'est simple. Vous pouvez maintenant aisément le distribuer.

Voici les principales commandes qui vous serons utiles:

  • créer un tarball:

    $ python setup.py sdist
    
  • créer un egg:

    $ python setup.py bdist_egg
    
  • rendre le paquet disponible sur pypi:

    $ python setup.py sdist bdist_egg register upload
    

Un utilisateur lambda pourra ensuite l'installer simplement:

  • via le tarball:

    $ wget http://exemple.com/monscript-0.1.tar.gz
    $ tar monscript-0.1.tar.gz
    $ cd monscript
    $ python setup.py install
    
  • via pypi:

    $ easy_install -U monscript
    

Moralité, distutils rends la vie plus facile.

Février 4, 2007
» Solution Linux 2007

Solution Linux 2007

Il n'y a qu'une chose agréable à la Défense. Chaque année, pendant 3 jours, c'est la fête du logiciel libre.

Cette année, pour cause de vacances, j'ai tenu le stand de l'AFPy du début à la fin (ou presque, réveil difficile oblige).

Le bilan est plutôt positif pour l'AFPy. Les gens connaissent Python et l'utilise ou se demande si il ne devrait pas. Bah, si bien sûr :)

Le nombre d'entreprises cherchant des coders Python est grandissant. Et pas que dans le domaine Zope/Plone ce qui est plutôt bon signe ! Citons par exemple gandi qui refond son back-orifice dans ce charmant langage. Vincent m'as avoué qu'après avoir acheté un bouquin sur le sujet pour pouvoir contribuer aux trolls, il est tombé amoureux ! La décision était prise quelques jours plus tard: "Les gars, on refait tout en Python !"

Pour ce qui est des événements marquant, on notera la désinfection du stand M$ par la joyeuse équipe du GCU. En effet, "LE MALIN EST PARMIS NOUS !" il fallait remédier à celà. On ne les en remerciera jamais assez !

Voilà voilà, vivement l'année prochaine, je vous le dis ! Je crois que je vais me mettre un crontab pour faire une demande automatique de congés toute les fins janvier ;)

» Solution Linux 2007

Il n'y a qu'une chose agréable à la Défense. Chaque année, pendant 3 jours, c'est la fête du logiciel libre.

Cette année, pour cause de vacances, j'ai tenu le stand de l'AFPy du début à la fin (ou presque, réveil difficile oblige).

Le bilan est plutôt positif pour l'AFPy. Les gens connaissent Python et l'utilise ou se demande si il ne devrait pas. Bah, si bien sûr :)

Le nombre d'entreprises cherchant des coders Python est grandissant. Et pas que dans le domaine Zope/Plone ce qui est plutôt bon signe ! Citons par exemple gandi qui refond son back-orifice dans ce charmant langage. Vincent m'as avoué qu'après avoir acheté un bouquin sur le sujet pour pouvoir contribuer aux trolls, il est tombé amoureux ! La décision était prise quelques jours plus tard: "Les gars, on refait tout en Python !"

Pour ce qui est des événements marquant, on notera la désinfection du stand M$ par la joyeuse équipe du GCU. En effet, "LE MALIN EST PARMIS NOUS !" il fallait remédier à celà. On ne les en remerciera jamais assez !

Voilà voilà, vivement l'année prochaine, je vous le dis ! Je crois que je vais me mettre un crontab pour faire une demande automatique de congés toute les fins janvier ;)