Python 2.6 : nouvelle version de maintenance

Posté par (page perso) . Modéré par Nÿco.
Tags :
16
27
oct.
2009
Python
C'est en effet la quatrième version de maintenance de la branche 2.6 de Python qui a été publiée ce week-end après un cycle de développement particulièrement court (23 jours écoulés depuis la publication de la version 2.6.3 le 2 octobre 2009).

Celle-ci n'apporte pas de nouvelle fonctionnalité, mais corrige plusieurs bugs jugés critiques par l'équipe de développeurs. Pour l'essentiel, il s'agit de corrections apportées à la bibliothèque standard de Python. On remarquera en particulier la réparation de la régression introduite à la version 2.6.3 dans le module distutils qui empêchait l'installation de modules tiers à l'aide de l'outil setuptools.

On retrouve aussi une correction au module intégré ("Builtin") marshal. Pour mémoire, ce module assure la sérialisation (et la dé-sérialisation) de valeurs Python au format binaire, son usage est réservé à des situations très particulières, les modules pickle et shelves étant bien plus efficaces et adaptés pour la persistance de données.

C'est donc à une nouvelle version utile - bien que sans surprise - à laquelle nous avons affaire. La mise à jour est évidement recommandée, ne serait-ce que pour pouvoir à nouveau exploiter pleinement le Python Packages Index.

NdM : Merci à tcoubon pour son journal à l'origine de cette dépêche.
  • # Guéguerre Distribute / setuptools

    Posté par (page perso) . Évalué à 10.

    Au sujet de setuptools, le projet a été forké après 2 ans d'inactivité de son auteur (P.J. Eby). Pourtant, il y avait des bugs dans setuptools, et je crois qu'il y avait même des patchs en attente.

    Le français Tarek Ziadé a pris le taureau par les cornes en commençant par s'assigner mainteneur du module distutils (la brique sur laquelle repose setuptools, et qui sert pour installer tous les projets Python). Ce n'est pas une tâche facile car le projet distutils est très mal testé (couverture de code à hauteur de 20-30% quand tarek est arrivé), pas mal bogué et il y avait des dizaines tickets en attente dans le bug tracker. Bref, tarek a fait un énorme travail sur distutils ces derniers mois.

    --

    C'est indécent, mais il ne s'en est pas arrêté là le coquin. Il s'est attaqué à bien pire, à setuptools. Comme le mainteneur de setuptools semble plutôt frileux niveau contributions et ouverture sur la communauté, tarek a forké le projet sous le nom Distribute.

    Distribute fonctionne plutôt bien et est développé par plusieurs personnes, dont deux développeurs "core" de Python (gros gage de qualité). Le projet est hébergé là :
    http://bitbucket.org/tarek/distribute/

    La documentation est directement sur le site python.org, preuve que le projet est supporté par les développeurs core de Python :
    http://packages.python.org/distribute/

    La semaine dernière il y a même eu un sprint en ligne pour booster le projet. Pour suivre l'évolution de Distribute, le mieux est le blog de Tarek :
    http://tarekziade.wordpress.com

    Au contraire, setuptools a toujours voulu rester séparé de Python, et n'a rien fait pour être intégré ou bien améliorer distutils (corriger le mal (distutils est une horreur !) à la source).

    --

    Pendant ce temps, le mainteneur de setuptools sort de son hibernation et attaque directement tarek et son projet Distribute, en disant qu'il est plus bogué que setuptools (ce qui est une abération). Il dit également qu'il était parfaitement ouvert aux contributions externes, ce qui semble bien étonnant quand on sait qu'en 2 ans il n'y a eu aucune release.
    http://dirtsimple.org/2009/10/that-wasn-so-difficult-was-it.(...)

    Il en profite pour se plaindre que Python 2.6.3 a cassé SON projet (setuptools, vilain Python !), et se vante d'avoir contourné le bug.

    --

    Des liens sur distutils, Distribute et setuptools :
    http://pvergain.wordpress.com/package-management/

    Je vous laisse lire les archives de la liste de diffusion distutils-sig, mais moi j'ai fait mon choix : Distribute ! Et je suis très content que Tarek mette un coup de pied dans la fourmilière.
    • [^] # Re: Guéguerre Distribute / setuptools

      Posté par . Évalué à 2.

      setuptools avait d'ailleurs subit un pseudo fork par numpy/scipy pour l'etendre. D'apres ce que j'ai vu il y a une tentative de passer a scons pour contourner les limitations de cet outil et eviter le gros hack fait pour numpy.
    • [^] # Re: Guéguerre Distribute / setuptools

      Posté par (page perso) . Évalué à 2.

      [cite]Je vous laisse lire les archives de la liste de diffusion distutils-sig, mais moi j'ai fait mon choix : Distribute ! Et je suis très content que Tarek mette un coup de pied dans la fourmilière.[/cite]

      Pareil pour moi. Distribute marche très bien.
    • [^] # Distribute dans Debian

      Posté par (page perso) . Évalué à 2.

      Distribute a intégré il y a peu Debian Sid (malheureusement en version 0.6.4) mais vu le nombre de rapports ouverts sur le paquet, je pense qu'une mise-à-jour ne devrait pas trop tarder.

      Puis pour revenir sur P.J. Eby, un type qui pense qu'un projet comme Python peut l'attendre un ou deux ans sans conséquences n'a pas tout compris au libre je pense.
      • [^] # Re: Distribute dans Debian

        Posté par . Évalué à 2.

        Puis pour revenir sur P.J. Eby, un type qui pense qu'un projet comme Python peut l'attendre un ou deux ans sans conséquences n'a pas tout compris au libre je pense

        si cela se trouve ce n'est pas un choix de sa part et c'est justement la la force du libre. Quelqu'un a pu reprendre le projet.
        • [^] # Re: Distribute dans Debian

          Posté par (page perso) . Évalué à 2.

          Ce n'est hélas pas le cas ici. Si quelqu'un de compétent avait pu le remplacer suite à sa longue absence pour faire évoluer setuptools, tout irait bien. Il a fallu le fork par Tarek et l'adoption grandissante par la communauté de ce fork pour qu'Eby se réveille. Mais il est toujours aux commandes.
    • [^] # Re: Guéguerre Distribute / setuptools

      Posté par . Évalué à 3.

      Personnellement, je fais un peu de python et j'ai toujours trouvé le système de package obscure: egg, setuptools, easy_install etc...

      En Ruby, je trouve le système plus clair et surtout plus standard.

      La dernière fois, que j'avais regardé, il n'était pas possible de désinstaller un package via setuptools.

      Tout cela pour dire que je suis content que Tarek Ziadé tente de faire quelque chose.

      Ma vie:
      Je suis en train de lire un livre de Tarek Ziadé «Programmation Python : Conception et optimisation». Cet ouvrage me permet de découvrir Python et j'en suis très content.
      Après, je devrais enchaîner avec le «Petit guide à l'usage du développeur agile» du même auteur dont j'ai entendu le plus grand bien.

      J'espère que cette petite Guéguerre sera profitable à Python !

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.