Python Software Foundation annonce qu’elle mettra fin au support de Python 2 à partir du 1er janvier 2020
Il n'y aura pas de Python 2.8
Le support de la version 2.7 prolongé jusqu'en 2020 et la migration vers Python 3.4 encouragée
« Il n’y aura pas de Python 2.8 ! ». La version 2.7 sera la dernière de la branche 2.x. C’est le message fort de la dernière conférence Pycon qui se tient actuellement à Montréal au Canada. Néanmoins, la version 2.7 bénéficie d’une grâce. Sa durée de vie s’est vue prolongée jusqu’en 2020.
Python est un langage de programmation dont la popularité n’est plus remise en question. Depuis sa création en 1990 par Guido Van Rossum, 15 versions de Python se sont succédées, dont la dernière en date est la 3.4.
Cependant, Python 3.4 (plus robuste et mature) n’est pas largement adopté par les développeurs de la communauté des inconditionnels du langage de programmation. Ceux-ci préfèrent plus la version 2.7.
Pourquoi ? Même si plusieurs raisons peuvent être évoquées, deux d’entre elles méritent l’attention. La première, c’est que les utilisateurs sont conservateurs. « Si ça fonctionne correctement pourquoi devrais-je migrer ? ». Windows XP en est un exemple typique. Microsoft a dû repousser la date de fin du support plusieurs fois. Et même comme ils ont annoncé officiellement que tout est fini, il y a encore des adeptes qui ne veulent pas abandonner XP.
La seconde raison est en relation avec les packages disponibles. Python 2.7 regorge de packages pour lesquels les développeurs ont une affection toute particulière. À l’exemple de Zope (qui est considéré par certains comme une Killer-App), de Twisted, Pika, Python-Ldap, Python-OpenID qui ne sont malheureusement pas disponibles sous Python 3.4.
(en rouge les packages non pris en charge par Python 3.4 et en vert ceux pris en charge)
Par conséquent pour éviter de donner raison à ceux qui pensent que Python 3 était une erreur, il est impératif que des stratégies soient mises en place pour favoriser son adoption.
Source: Pycon
Et vous ?
:fleche: Avez-vous migré vers Python 3.4 ?
:fleche: Pourquoi la version 2.7 est-elle privilégiée par les développeurs ? Python 3.4, était-ce une erreur ?
Python 2.7.11 est disponible avec des correctifs de bogues
Python 2.7.11 est disponible avec des correctifs de bogues
mais sans nouvelles fonctionnalités
Python 2.7.11 est disponible et pour cette version, aucune nouvelle fonctionnalité n’a été mise en œuvre. Seules les corrections de bogues ont été effectuées. Nous avons entre autres les erreurs suivantes qui ont été corrigées :
- HTTPConnection.request() n’était pas compatible avec les vieux styles de classes tels que TemporaryFile. Cela a été corrigé ;
- un débordement d’entier a été découvert dans l’itérateur. L’erreur a été également corrigée ;
- format(int, 'c') générait une erreur d’exception de type OverflowError lorsque l’argument n’est pas compris dans la plage de données (0, 256) ;
- la vérification de type d’exception dans les gestionnaires d’erreurs standard comportait un bogue ;
- une baisse de performance de l’interpréteur a été observée. C’est pourquoi il a été recommandé d’utiliser la syntaxe « computed gotos » pour envoyer les bytecodes dans l’interpréteur. L'application de cette recommandation permet d’accroître les performances de l'interpréteur ;
- lorsque Python est exécuté avec l’option -3, les méthodes encode() et decode() et les constructeurs de str ainsi que les classes unicode et bytearray comportaient des erreurs d’encodage pour les caractères non-textes obsolètes. Un avertissement a été intégré toutes les fois que ces erreurs sont rencontrées ;
- les opérations NAN étaient mal gérées à la compilation ;
- plusieurs bogues ont été trouvés dans le décodage UTF-7 des données mal formées ;
- une perte de mémoire a été détectée dans la méthode SSLSocket.getpeercer() ;
- le protocole SSLv3 marqué comme vulnérable a été désactivé par défaut à la création de la classe ssl.SSLContext ;
- le module sur les systèmes de fichiers ne supportait pas le décompte de liens pour les répertoires ;
- le constructeur et la mise à jour de méthode de weakref.WeakValueDictionary n’acceptait pas l’argument self ;
- un débordement de la mémoire tampon a été détecté dans le module imageop ;
- le module tarfile ne tolérait pas un nombre de champs composés uniquement d’espace blanc. C’est maintenant le cas.
Ces corrections de bogues bien qu’utiles pour les utilisateurs des versions 2.x poussent certaines personnes à dire que l’équipe de Python serait plus tournée vers la version 3.x que cette dernière itération en raison de l’absence de nouvelles fonctionnalités. D’autres, pour leur part, enfoncent le clou en appelant de tous les vœux l’abandon complet du support de Python 2.x afin de se concentrer sur les versions 3.x.
En tout état de cause, l'équipe de Python a déjà averti que la branche 2.7 serait la dernière version de la série 2.x. Toutefois, un support Long Term Support (LTS) a été prévu pour cette branche. La maintenance de la version 2.7 sera donc effectuée jusqu'à 2020. En attendant cette date butoir, les développeurs utilisant les versions 2.x s’accrochent à cette branche et espèrent voir de nouvelles fonctionnalités dans leur version privilégiée.
Source : Python News
Et vous ?
:fleche: Que pensez-vous de cette version de Python 2 ?
:fleche: Pensez-vous qu’il serait temps pour les développeurs Python de tous migrer vers la version 3 ?
Voir aussi
:fleche: Forum Python
Unofficial Windows Binaries for Python Extension Packages
Le site de référence pour trouver des packages binaires pour Windows :
Unofficial Windows Binaries for Python Extension Packages
Dont je suppose celui que tu cherches Laurent :
http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml
Guido van Rossum envisage de mettre fin au support de Python 2.7 le 1er janvier 2020
Guido van Rossum envisage de mettre fin au support de Python 2.7 le 1er janvier 2020
plus de mises à jour ou correctifs de sécurité après cette date
Dans un message publié via la liste de diffusion Python, le développeur Guido van Rossum, créateur et leader du projet du langage de programmation Python, a confirmé que le support de la version 2.7 prendra fin en 2020 et plus précisément le 1er janvier 2020. La fin de vie initialement prévue pour 2015 a été repoussée de cinq années. L'objectif était de donner plus de temps aux développeurs et entreprises pour migrer vers les versions prises en charge de Python 3.x, vu qu'avec la rupture de compatibilité, la migration des projets Python 2.x existants pouvait s’avérer très coûteuse, pour les grands projets surtout.
Guido van Rossum prévient également qu'après la date du 1er janvier 2020, Python 2.7 (la dernière version encore prise en charge dans la série 2.x) ne va bénéficier d'aucune mise à jour, pas même de correctif de sécurité du code source. « La façon dont je vois les choses pour [Python] 2.7 est que la fin de vie est 1er janvier 2020, et il n'y aura pas de mises à jour, pas même de correctifs de sécurité du code source, après cette date. Le support (fourni par les développeurs principaux, la PSF, et python.org) s'arrête complètement à cette date », a-t-il dit son message.
Pour ceux qui voudront donc un support pour Python 2.7 après cette date, il faudra payer un support commercial chez un fournisseur. Les forks ne sont pas non plus à exclure vu que le projet est open source. « Mais les développeurs principaux ont travaillé assez longtemps, et la date de fin de vie de 2020 (une extension de la date initiale de 2015) a été annoncée avec suffisamment de temps et en fanfare que je ne me sens pas du tout mal d'arrêter le support [de Python 2.7] », explique Guido van Rossum.
Pour ceux qui espéraient que Python 2.7 soit maintenu jusqu'à fin 2020 et qui utilisent encore cette version dans leurs projets, ils auront moins de temps pour migrer vers des versions prises en charge de Python 3.x. Il y aurait en effet de nombreuses entreprises dans ce lot. D'après Semaphore CI, un fournisseur de solutions d’intégration et de livraison continue, en 2017, Python 2.7 était encore utilisé dans 63,7 % des nouveaux projets commerciaux sur sa plateforme.
Comme l'a suggéré le développeur Terry Reedy, en réponse au message de Guido van Rossum, le sort réservé à Python 2.7 pourrait être annoncé officiellement à la prochaine conférence PyCon prévue au mois de mai, pour mettre fin aux grandes questions et spéculations au sujet du support de Python 2.7.
Source : Guido van Rossum via la liste de diffusion de Python
Et vous ?
:fleche: Qu’en pensez-vous ?
:fleche: Utilisez-vous encore Python 2.7 dans vos projets ? Si oui, pourquoi ?