Calibre, le gestionnaire open source de livres numériques, ne va pas migrer à Python 3,
Car l'auteur s'estime capable de maintenir Python 2

Le , par Patrick Ruiz, Chroniqueur Actualités
Calibre, le gestionnaire open source de livres numériques, ne va pas migrer à Python 3. Kavid Goyal, l’auteur du soft, l’a fait savoir sur la liste de diffusion de bogues d’Ubuntu, ce, en réponse à des requêtes d’utilisateurs.


Les demandes et la réaction de la tête derrière le logiciel interviennent dans un contexte marqué par l’annonce de la fin de la maintenance de Python 2.7. Cela fait 4 ans que la fondation en charge du développement du langage de programmation a fait d’une pierre deux coups en fixant l’arrêt du support de Python 2 à 2020 et en annonçant la sortie de Python 3.0. Depuis lors, de nombreux paquetages Linux ont migré. La liste est assez fournie et on y retrouve des quasi incontournables de l’univers du développement d’applications avec le langage Python comme NumPy – un paquetage dédiée au calcul scientifique – et Django – un framework pour le développement d’applications web. En avril dernier, Red Hat s’est mêlé à la danse avec un avis de passage de Python 2 à Python 3 dans la prochaine version majeure de son système d’exploitation. D’autres distributions Linux se sont arrimées à la tendance ; depuis la version 23, Fedora intègre Python 3 comme interpréteur ; pareil pour Ubuntu depuis la version 12.10 (Quantal Quetzal) – annoncée en 2012.


Mais, il ne s’agit pas d’une mouvance globale puisque que le toilettage du langage a mené à un Python 3 non rétrocompatible avec son prédécesseur. C’est cet état de choses qui motive la décision de l’auteur de Calibre qui déclare qu’ il est parfaitement capable de maintenir Python 2 seul. « C’est beaucoup moins de travail que d’envisager la migration de la base de code entière », ajoute-t-il. Le fait est que bon nombre de projets continuent de s’appuyer sur Python 2. Cela fait deux ans que Semaphore CI – un fournisseur de solutions d’intégration et de livraison continue – livre les statistiques d’utilisation du langage dans le cadre de projets commerciaux. En 2016, 71,9 % des projets sur sa plateforme s’appuyaient sur Python 2. En 2017, la version 2 du langage concentrait encore 63,7 % de projets sur la même plateforme ; une baisse certes, mais un chiffre avec une relative importance.

Ça fait dix ans (depuis l’annonce de la sortie de la version 3.0) que la version 2 continue de bénéficier du support de la Python Software Foundation. Il vient que même à la maison mère on a intégré que la migration vers la version 3 n’est pas aisée. Mais, le compte à rebours est lancé et dans le cercle officiel, le 1er janvier 2020 marquera la fin du support de Python 2 comme confirmé par Guido Van Rossum – créateur du langage – il y a quelques mois.

Sur GitHub, un développeur a décidé d’entamer la longue marche vers une version de Calibre compatible avec Python 3. « Mon objectif est de faire tourner ce code sur Python 3 de la même façon qu’avec Python 2 », écrit-il. Ce dernier vise une compatibilité totale avec la version 3 du langage d’ici fin 2019 ou au plus tard aux aurores de l’année 2020.

Source : liste de diffusion de bogues Ubuntu

Et vous ?

Qu’en pensez-vous ?

Quel commentaire faites-vous du positionnement de Kavid Goyal ?

Sur quelle version de Python basez-vous vos projets ? Pourquoi ?

Voir aussi :

Python va supprimer les termes "master/slave" de sa documentation et sa base de code pour des raisons de diversité et leur connotation à l'esclavage

Python 3.7 est disponible, une version majeure avec beaucoup de nouvelles fonctionnalités et optimisations, et des améliorations de performance

IEEE : Python devient le meilleur langage en 2017 en dépassant C et Java, découvrez le classement complet selon divers critères

Microsoft envisagerait d'ajouter Python comme langage de script officiel à Excel, les utilisateurs sont appelés à donner leur opinion sur la question


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de emilie77 emilie77 - Membre régulier https://www.developpez.com
le 15/11/2018 à 9:00
Python2 / Python3 c'est une des raison pour la quelle ce langage ne me plait pas, ce n'est pas possible que on est a la 3.7 et on veut encore utiliser la 2... J'ai choisi ruby e C# à la place
Avatar de xarkam xarkam - Membre confirmé https://www.developpez.com
le 15/11/2018 à 9:23
Tout pareil, sauf pour le ruby

J'apprends quant même le 3 à mon fils aîné

Faire une version sur py3 qui ne prend pas en compte les améliorations du langage est assez futile.

Donc, un soft destiné à terme à mourir lorsque py2 sera retiré des distrib.
Avatar de Markand Markand - Membre averti https://www.developpez.com
le 15/11/2018 à 9:38
Citation Envoyé par emilie77 Voir le message
Python2 / Python3 c'est une des raison pour la quelle ce langage ne me plait pas, ce n'est pas possible que on est a la 3.7 et on veut encore utiliser la 2... J'ai choisi ruby e C# à la place
Il n'y a pas que le python où ce problème existe. Dans l'écosystème node.js c'est pire, bien qu'il y ait un fort respect du semantic versioning, beaucoup de modules changent et cassent l'API. Mais pour gérer ce problème on fait en sorte de pouvoir dépendre d'une version précise. Le seul véritable soucis, est d'espérer que la version qu'on utilise soit encore maintenue / stable / sans vulnérabilité si on ne migre pas.

Python 3 existe depuis longtemps et le temps de migration était largement assez long. Je pense que certains se donnent trop d'excuses pour ne pas migrer et lancer la pierre à python, c'est facile.

Pour info, en Lua c'est pire : d'une version à l'autre il peut y avoir une dizaines de changements non rétrocompatibles avec des versions plus fréquentes que python. Pour l'avoir testé et vécu, là pour le coup je peux admettre et comprendre les frustrations liées à ce langage.
Avatar de le_bipede le_bipede - Futur Membre du Club https://www.developpez.com
le 15/11/2018 à 11:30
J'ai de la difficulté à comprendre le lien entre les deux versions de python et le fait de ne pas aimer ce langage...
Je pense personnellement qu'il n'y a plus qu'une seule version à utiliser après dix ans, c'est la version 3 et c'est ce que je fais car j'ai migré l'ensemble de mes productions.
Tu n'aimes pas python, c'est ton droit, mais dire que c'est parce qu'il en existe deux versions me semble un peu léger.
Avatar de archqt archqt - Membre averti https://www.developpez.com
le 15/11/2018 à 11:55
Je ne suis pas spécialiste python mais est ce si difficile de migrer ? y a pas des outils qui font cette transformation ?
Avatar de hotcryx hotcryx - Membre extrêmement actif https://www.developpez.com
le 15/11/2018 à 13:58
Python aurait dû fournir un script de conversion même basique.

Faire du Python3 n'est pas tellement compliqué, le problème est qu'ils ont des dépendances et énormement de paquages, les uns dépendants des autres, ça peut devenir un casse tête.

Ce que je reproche à cette version Python3 c'est que le code n'est pas complètement orienté objet.
Il faut encore passer par des astuces pour créer des properties, des variables privées...
Ce qui veut dire que le code ne sera pas correctement OO et donc il faudrait probablement encore le changer lors d'une prochaine version de Python, probablement la 4 ou la 5.

Cela dit Python est un très bon langage mais il n'évolue pas assez vite et entièrement.
Avatar de Shepard Shepard - Membre éprouvé https://www.developpez.com
le 15/11/2018 à 14:58
https://docs.python.org/2/library/2to3.html

C'est sorti en même temps que Python 3 :-)
Avatar de abriotde abriotde - Membre éprouvé https://www.developpez.com
le 15/11/2018 à 17:05
Ce problème existe dans tous les langages interprétés (alors quel intérêt à changer de languages). Car dans les langages compilés, on peu toujours utilisé une ancienne version sans obligé l'utilisateur a avoir cette ancienne version d'installée.
C'est pourquoi le problème est moindre en Java et absent du C... Sauf que bien sûr si on veux continuer de développer dessus il faut s'adapter au mises à jour des librairies.
Il suffit d'une mise a jour trop importante et/ou brutale (autrement dis une mauvaise gestion id est, une volonté trop importante de changement) pour perdre une partie des développeurs. Le problème ce n'est pas le langage mais sa mise a jour.
Avatar de i5evangelist i5evangelist - Membre habitué https://www.developpez.com
le 15/11/2018 à 17:08
Zut, je suis un aficionado de ce logiciel, faudrait pas que ça parte en sucette cette affaire.
Concernant python, je ne connais pas trop, mais ça à l'air de tourner à l'usine à gaz, j'ai testé bof ... testé ruby itou et finalement mon choix s'est porté sur lua. (mais c'est très personnel)
Avatar de dad3zero dad3zero - Membre habitué https://www.developpez.com
le 17/11/2018 à 2:41
Citation Envoyé par hotcryx Voir le message
Ce que je reproche à cette version Python3 c'est que le code n'est pas complètement orienté objet.
Et ?

Il faut encore passer par des astuces pour créer des properties
Quelles astuces ?

des variables privées...
Sur ce point, il n'y a pas d'astuce, Python est Open Kimono, je ne vous pas de quelle astuce vous voulez parler…

Ce qui veut dire que le code ne sera pas correctement OO
En quoi ? On fait "plus correctement" de l'OO en Python qu'en Java si on suit les concepts de la POO…

[/QUOTE]
Contacter le responsable de la rubrique Accueil