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

Le , par Michael Guilloux

224PARTAGES

8  0 
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 ?

Qu’en pensez-vous ?
Utilisez-vous encore Python 2.7 dans vos projets ? Si oui, pourquoi ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Tagashy
Membre averti https://www.developpez.com
Le 14/03/2018 à 12:38
Perso je développais en python 2 et je passe en python 3 depuis 1 ans (environ).
Du coup mon retours d’expérience:
pour des nouveaux projet faire du python 2 ou 3 c'est kiff kiff
par contre ils ont changé des choses en internes :
les str python 2 sont des byte[]
la ou en python 3 ce sont des unicodes.
ET ca mine de rien c'est un des plus gros problèmes.
Beaucoup de lib scientifique utilisais des str comme tableaux de chr ou assimile mais maintenant ca ne marche plus du coup il faut réécrire les libs. certes il existe des outils comme 2to3 mais il sont insuffisant vue que python est extrêmement libre au niveau du codage ce genre d'outil ne marche pas (ex call de méthode privé d'un objet en étant hors du contexte de l'objet, ajout de fonction/méthode en live, code oû les variable sont généré après avoir catch exceptions, rien que récemment j'ai vue un code qui faisais des import juste après avoir fait un sys.path.insert(0, './routes'), du coup comment un outils pourrais comprendre ce qui ce passe en interne pour convertir a du python 3)

Le gros problème aux passage à python 3 c'est pas le langage c'est les libraires qui ne veulent pas se convertir aux 3 ou qui trouve ça trop longs.
Du coup je suis pour cet arrêt de support, si les gens sont trop con pour pas suivre les évolutions , il faut les prendre par la peaux des fesses et leur dire arrêter vos connerie, vous suivez l’évolution des techno ou vous vous barrez.
lorsqu'on doit faire un docker avec python 2 et python 3 et faire des subprocess.call("python2 prog.py" car la librairie ne marche pas en python 3 on pense marché sur la tête.

et puis les nouveauté de python 3 sont quand mème pratique ... rien que le typage des variable c'est cool pour documenter (oui c'est que de la doc mais ça aide énormément avec un IDE derrière)
6  0 
Avatar de gallima
Membre habitué https://www.developpez.com
Le 14/03/2018 à 13:37
Un changement dans les types de données (str / byte[]) fondamentaux, c'est une grosse brisure qui peut impliquer beaucoup de ré-écriture.
La solution est peut être plus simplement de changer de langage, surtout dans les nombreux cas où python n'était qu'une couche d'encapsulation.
3  0 
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 14/03/2018 à 13:51
Citation Envoyé par VinsS Voir le message
ces modules tiers qui ne tournent pas encore sous Python 3 sont, aujourd'hui, à considérer comme abandonnés.
Ce n'est pas parce qu'un module développé sous Python 2 n'a plus de mise à jour qu'il est à jeter à la poubelle.
Certains modules sont complets, et ne nécessitent aucun rajout.
Le seule souci est en effet que personne ne les porte sous Python 3 et que le créateur ne donne plus signe de vie.
Sauf que quand on a de la production qui tourne avec ce genre de chose et qu'on a pas l'équipe faite pour porter la librairie... Bah on continue bon gré malgré sous Python 2.

La richesse de Python c'est ses librairies.
Et malheureusement c'est ce qui lui fait aussi le plus mal depuis l'écart entre Python 2 et Python 3.

Note : je fais parti des méchants petits canards qui utilisent Python 2.7 et qui continueront à l'utiliser.
3  0 
Avatar de tyrtamos
Expert éminent https://www.developpez.com
Le 15/03/2018 à 10:40
Bonjour,

J'ai bien peur que la poursuite de la maintenance de Python 2 jusqu'à 2020 donne un mauvais signal à tous ceux qui se diront alors: on peut donc attendre 2020 avant de faire quoi que ce soit... En fait, il était prévu à l'origine 5 ans de conversions à partir de décembre 2008, et ça aurait donc dû finir en décembre 2013. A mon avis, s'il y a eu une erreur, c'est bien de maintenir Python 2 après 2013. On peut craindre, malheureusement, qu'en 2020, il soit encore décidé de le maintenir encore jusqu'en 2030, et ce n'est certainement pas parce que Python 2 est meilleur! En ce qui me concerne, quand je vois les progrès de Python 3 par rapport à Python 2, et en particulier (mais pas seulement!) la gestion des Unicodes, je ne reviendrai pas en arrière! Peut-être même aurais-je changé de langage si Python 3 n'avait pas existé.

A part certains modules qui ont été cités et qui restent sous Python 2, je sais que deux organismes sont aussi responsables d'une aussi longue durée de Python 2: les hébergeurs et les éditeurs de Linux. Il y a bien sûr une relation entre les deux puisque la plupart des serveurs sont sous Linux. Pour les hébergeurs qui ont Python CGI dans leurs offres, c'est même pire puisqu'on trouve encore Python 2.6, voire Python 2.5. Ça commence à évoluer, mais c'est long... La dernière fois que j'ai demandé à mon hébergeur de passer sous Python 3, il m'a recommandé de me mettre plutôt sur un serveur dédié, ce qui m'aurait fait payer par mois ce que je payais pas an! Ce qui fait que certains de mes programmes sont maintenus sous Python 3 ET sous Python 2, ce qui est une complexité inutile. Mais avec le temps qui passe, peut-être vais-je choisir mon hébergeur en fonction de sa version de Python.

Mais il ne faut jamais oublier que la plupart des modules que nous utilisons sont gratuits, ce qui est un grand avantage pour nous (j'ai abandonné Delphi en 2007 à cause de son prix). En contrepartie, ils dépendent du bon vouloir de bénévoles (y compris si c'est du "bénévolat d'entreprises". Il suffit que le principal pilote se détourne de son produit ou change de métier (ou disparaisse?), pour que le module ne soit plus maintenu. J'espère que Guido van Rossum, qui nous a donné un chouette produit, a bien prévu la suite...
3  0 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 14/03/2018 à 11:18
Citation Envoyé par hotcryx Voir le message
@Tomlev, Tu te trompes.
Avec Python3 tu peux toujours développer de la même manière qu'en Python2.
Python est dans le Top 3 ou 4 des langages les plus utilisés et ayant évolué.
C'est un bon langage.
Je ne dis pas que c'est un mauvais langage, absolument pas. Je dis juste que si au bout de 10 ans la v3 reste beaucoup moins utilisée que la v2, il faut peut-être se poser des questions. Dans la plupart des langages, quand une nouvelle version sort, elle est (assez) rapidement adoptée et les versions plus anciennes tombent peu à peu dans l'oubli. Ça n'a pas été le cas avec Python 3, et maintenant son créateur veut forcer la main aux utilisateurs, ce que je trouve maladroit.
3  1 
Avatar de xarkam
Membre confirmé https://www.developpez.com
Le 14/03/2018 à 12:05
Citation Envoyé par tomlev Voir le message
Je ne dis pas que c'est un mauvais langage, absolument pas. Je dis juste que si au bout de 10 ans la v3 reste beaucoup moins utilisée que la v2, il faut peut-être se poser des questions. Dans la plupart des langages, quand une nouvelle version sort, elle est (assez) rapidement adoptée et les versions plus anciennes tombent peu à peu dans l'oubli. Ça n'a pas été le cas avec Python 3, et maintenant son créateur veut forcer la main aux utilisateurs, ce que je trouve maladroit.
Mais, ptet que les dev python sont flemmard pour passer à la v3 et apprendre les nouveautés puisque cette dernière change la manière de coder avec certaines api.

Mais c'est une problématique. Apprendre python mais quelle version ???

Leur erreur a été de supporter la v2 depuis maintenant 10 ans. Alors pourquoi passer à la v3 si la v2 est encore supportée?

Donc on en reviens à ma première idée, flemmardise d'apprendre la v3.
2  0 
Avatar de fred1599
Expert confirmé https://www.developpez.com
Le 16/03/2018 à 20:15
Citation Envoyé par RyzenOC Voir le message
Cela me gonfle de voir encore sur le web des gens coder en python 2.7
Cela me gonfle de voir en 2018 des scripts python 2.7 dans les distro linux
Cela me gonfle encore plus de voir certaines distribution linux mettre python 2.7 par défaut au lieu de python3.
Je pense qu'avant que cela te gonfle, tu devrais penser en terme de développeurs de ces applications. T'es-tu rien qu'un instant posé la question du pourquoi ces scripts ne sont pas modifiés au niveau de la version python? Malheureusement on ne peut pas toujours faire ce que l'on veut, surtout quand on a certains scripts qui ont de multiples dépendances.
2  0 
Avatar de switchON
Membre à l'essai https://www.developpez.com
Le 14/03/2018 à 15:07
Personnellement je suis encore dessus uniquement car je développe sur Google AppEngine qui est bloqué en version 2 pour l'environnement standard ... Parfois on a juste pas trop le choix.
1  0 
Avatar de Sve@r
Expert éminent sénior https://www.developpez.com
Le 14/03/2018 à 15:50
Citation Envoyé par VinsS Voir le message
La principale raison de se maintenir à la version 2, invoquée par des développeurs, était que les modules tiers qu'ils utilisaient n'étaient pas encore portés sous la version 3, mais, je l'ai dis hier dans un autre post, ces modules tiers qui ne tournent pas encore sous Python 3 sont, aujourd'hui, à considérer comme abandonnés.
Mouais. Je viens de commencer un nouveau projet et j'ai tenté de le faire en P3. J'avais tout préparé. Qt5 + PyQt, l'utf8, etc. Et patatrac, j'ai besoin de qgis et elle n'est dispo qu'en P2. Donc ben je suis reparti en P2 (mais j'ai activé tous les from __future__ en prévision du futur justement ).
Donc qgis, librairie utilisée dans le SIG "QGis". Doit-elle être considérée comme abandonnée ???
1  0 
Avatar de Sarénya
Membre régulier https://www.developpez.com
Le 14/03/2018 à 16:08
Citation Envoyé par Sve@r Voir le message
Mouais. Je viens de commencer un nouveau projet et j'ai tenté de le faire en P3. J'avais tout préparé. Qt5 + PyQt, l'utf8, etc. Et patatrac, j'ai besoin de qgis et elle n'est dispo qu'en P2. Donc ben je suis reparti en P2 (mais j'ai activé tous les from __future__ en prévision du futur justement ).
Donc qgis, librairie utilisée dans le SIG "QGis". Doit-elle être considérée comme abandonnée ???
Le version 3.0 sortie il y a 3 semaines n'est pas justement en python 3 ?
1  0 
Les fédéraux américains ont demandé à Tesla de cesser de faire des « déclarations trompeuses » sur la sécurité de la Model 3
Un expert canadien en bitcoin réussit à arnaquer un escroc, et donne l'argent à une organisation caritative
Wine sur Windows 10, ça marche grâce au sous-système dédié à Linux
Apprendre Python et s'initier à la programmation - Partie 2 : Programmation avancée, un cours de Sébastien Combéfis
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web