De l’irresponsabilité flagrante de passer à Python3 dès maintenant.

Je suis en colère contre les codeurs d’Archlinux qui ont voulu pousser la logique du « rolling release » jusqu’au bout.

Depuis le passage à Python3 activé sur testing, les logiciels en python explose en vol les uns après les autres au fur et à mesure des versions.

Sur la liste des victimes, suite à une modification du paquet pygtk :

Et encore je n’ai pas fait la totalité de mes logiciels basés sur Python.

Et étant donné que je pousse des gueulantes sur Identi.ca et twitter, j’ai eu droit à la réponse que je méritais de la part de Pingax

J’ai toujours été une sombre nullité en matière de développement et de codage. Mes tentatives pour apprendre python se sont toutes soldées par des échecs.

Je pense que la solution qui me reste – et je sens déjà Cyrille Borne rire – est de retourner sous Ubuntu. Chose que je ferais ce soir, car j’en ai marre de devoir recompiler tous les jours les outils en python car un paquet aura changé sur [testing].

Dommage que les codeurs d’Archlinux oublie une chose : que rolling release ne signifie pas explosion en vol à la moindre grosse mise à jour :(

29 réflexions au sujet de « De l’irresponsabilité flagrante de passer à Python3 dès maintenant. »

  1. Oni

    Les joies du dépot testing, c’est pas comme si tu étais pas au courant qu’il y a des risques que ça pète à la moindre mise à jour, it’s the game…

    1. Frederic Bezies Auteur de l’article

      Voir le dépot testing exploser des logiciels de manière quotidienne, je n’ai jamais vu cela sur la grosse année que j’utilise la Archlinux. C’est assez chiant désormais.

      Déjà que c’est assez tôt pour passer à Python3, devoir essuyer certains platres qui auraient du l’être dans le cadre du « staging » qui a préparé l’arrivée de python3 dans testing.

      Mais il est vrai que je ne suis pas un codeur, juste l’emmerdeur l’utilisateur de base…

  2. dhoko

    Après rien ne t’empêche de faire les MAJ… Puis de se renseigner un peu surtout pour une MAJ majeur de python quoi.
    Pas de besoin de forcement coder…
    C’est vrai que c’est cool les rollings Release mais, elle délègue une partie du bon sens à son utilisateur. Sinon prend une debian Stable puis voilà.

      1. dhoko

        Rien ne t’oblige à faire tout de suite les MAJ. C’est comme avec WordPress faut prendre du recul avant de faire la MAJ histoire de pouvoir mesurer les problèmes auxquels on va être confronté.

        Perso j’ai une VM Frugalware, je fais les MAJ toute les semaines ou 15 jours, ça évite (enfin dans la majorité des cas) les bugs. Mais, je sais ceux qui seront là (Xorg à refaire chaque fois). Pareil quand j’avais une Arch je ne fais pas de MAJ quotidienne.

        Puis un soft ultra à jour veux dire un software pas super solide car on ne possède pas de retour suffisant.
        M’enfin si tu es conscient de risquer de tout casser à chaque fois, faut pas se plaindre

        Comme je le dis, de temps en temps faut attendre un peu. Surtout quand on ne sait pas dev et donc contourner les éventuels problèmes.

        (Je dis ça mais qu’est ce que j’ai cassé du sucre sur Minefield pendant sa croisade contre la stabilité de la 5bpre à la 6bpre :) )

  3. Claude

    Bien d’accord avec Oni, testing existe meme expressement pour ca
    wiki anglais:

    New packages go into [testing] if:
    * they are expected to break something on update and need to be tested first
    * they require other packages to be rebuilt. In this case, all packages that need to be rebuilt are put into [testing] first and when all rebuilds are done, they are moved back to the other repositories.

    Donc en gros, les paquets dont on suppose qu’ils vont casser quelque chose et/ou necessiter la recompilation des paquets qui en dependent, ca va dans testing. C’est exactement ce qui se passe avec python 3. Trop tot ou pas, ca se serait passe comme ca, vu qu’on sait des le depart qu’il y a incompatibilite entre la version 2 et 3.

    1. Frederic Bezies Auteur de l’article

      Surtout que testing n’explose que très très très rarement. C’est la première fois que [testing] pourrait porter le nom d'[unstable], vu le nombre de logiciels cassés, en si peu de temps.

      1. Claude

        C’est pas parce que ca explose rarement que ca devient une garantie. Quand une brique de base casse la compatibilite, c’est meme normal.
        Moi je suis integralement sous debian sid, c’est quasi stable en general, mais quand il y a des problemes, c’est attendu, et plutot fait pour.
        Il n’y a pas vraiment d’autre moyen sur des changements majeurs de ce type (python3, Qt4,…).

  4. Poischack

    Développement ? C’est une blague j’espere :D
    Pour que tout remarche, tu édites chaque fichiers .py et tu remplaces à la première ligne python par python2, pour forcer l’interpréteur python v2.
    Apres il faut juste remonter au mainteneur du paquet les changements pour que tout le monde en profite.

    1. Frederic Bezies Auteur de l’article

      Si c’était aussi simple que cela, aucun logiciel ne serait aussi facilement explosé en vol. Suffit de voir à quel point certains logiciels sont dépendants de « python 2-eries » pour se dire que Python 3 aussi tôt, c’est irresponsable.

      1. Claude

        J’ai du mal a voir l’irresponsabilite. On les fait quand et ou les tests, si ca n’est pas dans le depot cree pour ca?

        (desole pour les accents, qwerty oblige)

          1. Claude

            Admettons. Meme si ce depot est apparemment tout neuf (la mailing list -dev indique qu’en aout dernier ils ne savaient pas encore s’ils allaient l’utiliser ou non ni reellement comment) et donc probablement peu rode.
            On ne m’otera pas de l’idee qu’il y a comme une contradiction a se dire simple utilisateur de base (ta premiere reponse a Oni) en colere contre des dev qui cassent tout, et avoir le depot [testing] active qui implique quand meme une certaine motivation et des utilisateurs proactifs (testing reste fait pour tester et rapporter les problemes avant passage sur [core] et [extra]).

            Ne passe pas sur ubuntu pour si peu (meme si je demande egalement a voir le billet de Cyrille :D ), tu vas finir par activer des ppa partout et retrouver le meme probleme ;)

  5. 3po

    « Chose que je ferais ce soir » -> « Chose que je ferai ce soir »

    Sinon ba le python c’est le langage le plus simple à apprendre d’après moi, enfin bon si t’es pas un développeur c’est ptête pas si simple.

  6. AlK

    En tant que développeur Python et fan d’ArchLinux, je suis très content de ce changement :) Je reste néanmoins à l’écart du dépot testing en attendant que les choses se tassent. Forcément ça prendra un peu de temps pour que tous les paquets fonctionnent au poil, mais je suis sûr que ça viendra vite, vu que ce n’est qu’un renommage de « python » vers « python2″…

    Je trouve exagéré de switcher de distrib pour ça. Désactive le dépot testing temporairement (et réinstalle les anciennes version des paquets) plutôt, non ?

  7. olivier

    Frédéric à raison de râler, le passage à Python 3 constitue un grand changement, de nombreux modules son dépréciés, API, ABI restructurées, etc …

    Cependant il existe un exécutable (2to3, http://docs.python.org/library/2to3.html ) permettant de « tester » son programme pour savoir si celui-ci est compatible avec Python 3.

    C’est facile de passer à Python 3, mais, les personnes responsables chez ArchLinux, de Python, auraient pu vérifier la compatibilité des logiciels présents dans les dépôts avec Python 3. Malheureusement tous, ne sont pas compatibles (ce n’est pas de leurs fautes).

    Donc c’est facile de dire « testing, il faut s’y attendre », mais là c’est plutôt un problème au niveau des responsables du paquet Python chez ArchLinux. Tous les softs à base de Python ne sont pas compatible avec Python3. Il faut vérifier chaque logiciel pour en être sûr.

    1. Oni

      Sachant que tu vas avoir au final un paquet «python2» et un autre «python» (en version 3.1) dans arch, je ne vois pas le problème (les soft non compatible python 3.x utiliseront python2). Le plus gros du boulot est de forcer les soft et lib python à utiliser python2 au lieu de python, il ne s’agit pas de remplacer python 2 par python 3.x dans le système mais de faire un (gros) changement (avant, c’était python (en version 2.6.x) et python3) dans le nommage des paquets python dans arch, c’est tout…

      Faut savoir que a terme la branche 2.x de Python ne sera plus mise à jour (2.7 serait la dernière mise à jour majeur de Python 2.x) et faudra sûrement passer à Python 3 un jour ou l’autre donc…

  8. Ritzy Rat

    Un petit peu de calme ici! ;-)

    Je ne vais faire qu’enfoncer le clou mais le dépôt testing est à une rolling release ce que les versions de développement sont aux distributions standards.
    Si tu es un utilisateur de base, le dépôt testing n’est pas pour toi.
    Si tu es un développeur ou/et mainteneur qui as envie de faire du debug essaye le dépôt testing mais pas sur une machine de production.

    Je ne veux pas te fâcher mais ce n’est que du bon sens et ça n’a rien à voir avec le fait que Arch soit une rolling release.

    Bonne chance pour tout réparer!

    1. Frederic Bezies Auteur de l’article

      « Je ne vais faire qu’enfoncer le clou mais le dépôt testing est à une rolling release ce que les versions de développement sont aux distributions standards. »

      Quid des dépots staging ?

      Par exemple, un miroir de community-staging :

      http://mir.archlinux.fr/community-staging/os/x86_64/

      « Si tu es un utilisateur de base, le dépôt testing n’est pas pour toi. »

      Donc, si tu es un emmerdeur d’utilisateur (comme c’est mon cas) qui aime les logiciels frais, va voir ailleurs ?

      « Je ne veux pas te fâcher mais ce n’est que du bon sens et ça n’a rien à voir avec le fait que Arch soit une rolling release. »

      Que j’utilise – utilisais ? – depuis environ (bon an mal an) deux ans ?

      1. Ritzy Rat

        C’est gentil de m’avoir répondu en personne, ça fait presque chaud au coeur! ;-)

        « Quid des dépots staging ? »
        Tu peux expliciter, c’est quoi un dépôt staging?

        Et ça fait deux ans que tu utilisais le dépôt testing?

        Est-ce que tu as été voir la page du wiki concernant le renforcement de la stabilité de Arch?
        J’y ai jeté un coup d’oeil et j’essaye de l’appliquer au maximum (
        http://wiki.archlinux.org/index.php/Enhancing_Arch_Linux_Stability).
        Je vais mettre un peu d’eau dans mon vin:
        les devs d’Arch ont peut-être fait une boulette en mettant python3 dans testing prématurément mais les personnes qui doivent se plaindre devrait être d’autre devs.

        PS: je tiens à préciser que je suis tout nouveau chez les gnus (10 mois) et que Arch tourne impec depuis 2 mois.
        Tu vas me dire que c’est un peu court et tu auras peut-être raison mais quand même je crois que tu as ta part de responsabilité.
        Encore une fois, je te souhaite bon courage pour tout réparer.
        Et fais part de ta méthode ça pourras toujours servir à d’autres aventuriers (moi) un peu trop inexpérimentés/inconscient.

        1. Frederic Bezies Auteur de l’article

          « C’est gentil de m’avoir répondu en personne, ça fait presque chaud au coeur! ;-) »

          J’essaye de le faire au maximum.

           »
          07/10/2010 à 20:25 | En réponse à Frederic Bezies.

          C’est gentil de m’avoir répondu en personne, ça fait presque chaud au coeur! ;-)

          Staging => dépot encore plus instable que testing. Il sert vraiment de bac à sable.

          « Et ça fait deux ans que tu utilisais le dépôt testing? »

          En gros. J’ai utilisé Arch en mai -> juillet 2008 ; ubuntu durant 6 mois environ ; archlinux durant 9 mois ; frugalware durant 2 mois ; arch depuis mai. Et pour les 14 à 16 mois passés avec Arch, sort 2 mois sans testing.

          « les devs d’Arch ont peut-être fait une boulette en mettant python3 dans testing prématurément mais les personnes qui doivent se plaindre devrait être d’autre devs. » ou les utilisateurs qui utilisent quotidiennement des paquets en version de développement. En dehors de mon travail, je n’utilise jamais une version stable de mozilla firefox.

          « Encore une fois, je te souhaite bon courage pour tout réparer.
          Et fais part de ta méthode ça pourras toujours servir à d’autres aventuriers (moi) un peu trop inexpérimentés/inconscient. »

          N’active pas testing et attend l’arrivée de Python3 sur extra. C’est la meilleure méthode de réparation, même si cela bloque en partie l’arrivée de gnome 2.32 sur extra.

  9. cyrille

    Je vois pas ce qu’il y a de risible. J’ai épuisé tellement de distributions pour en changer 25 fois, finir par Ubuntu puis repartir encore pour venir en vainqueur et me foutre de ta gueule, c’est pas honteux à un moment donné d’avoir envie de facilité, c’était d’ailleurs à l’époque où tu l’as mal pris, le message de fond, la ronde des distributions c’est fatiguant au bout d’un moment. Actuellement je suis sous Linux Mint Debian Edition qui tient plus du debian que du mint d’ailleurs, je jetterai un coup d’oeil du côté de cut la distribution debian en rolling release, tout comme toi les mises à jour tous les deux ans ça m’emballe pas. Comme je l’ai exprimé dans mes différents billets, je préfère passer à autre chose que de péter des distributions, sachant que j’ai fait mon deuil, pour moi ce sera du deb et rien d’autre sauf dans le cas de distributions spécifiques ou pour le test virtualbox de frugalware.

    Par contre fini pour moi Ubuntu, les différents mouvements de séparation entre les sociétés et certains logiciels libres ouvrent quand même largement la voie vers un modèle de type debian.

  10. Ritzy Rat

    « N’active pas testing et attend l’arrivée de Python3 sur extra. C’est la meilleure méthode de réparation, même si cela bloque en partie l’arrivée de gnome 2.32 sur extra. »

    OK mais j’aurais bien voulu avoir ton retour sur la réparation et pas sur la prévention.

    Sinon tu devrais peut-être tester Gentoo pour avoir des paquets tout frais? Je sors…
    Et je te souhaite une bonne nuit

  11. jdn06

    Je suis un peu triste de lire ce post, car c’est des posts de ta première période Archlinux qui m’avait incité à aller regarder du côté d’Archlinux. Depuis presque un an, je fais tourner avec bonheur cette distrib sur mon desktop et sur un eeepc900 et je n’ai jamais eu de problème (à part avec certaines maj d’Enlightenment, mais Archlinux n’y est pour rien…)

    Pour moi, testing n’est pas un moyen d’avoir les logiciels plus tôt (on n’y gagne qu’1 à 2 semaines, semble-t-il) mais un moyen de participer au débogage et à la préparation de la version « stabilisée ». Comme je ne me sens pas de compétences suffisantes pour aider la communauté sur ce plan (sans devenir un boulet qui demande de l’aide), je ne l’active pas.

    Merci en tout cas de m’avoir fait découvrir cette très belle distrib, et bon courage avec les upgrade d’Ubuntu.

Les commentaires sont fermés.