Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Toutes les versions de Python inférieures à 3.6 sont maintenant en fin de vie
    Toutes les versions de Python inférieures à 3.6 sont maintenant en fin de vie
    la version 3.9 sera livrée en octobre prochain et la version 3.10 un an après

    Depuis la publication de la version 3.5 de Python, l’espacement entre les nouvelles versions semble s’être stabilisé à un an d’intervalle et leur durée de vie est de 5 ans. D’après le calendrier montrant le statut des branches de Python, notamment de Python 3, toutes les versions du langage inférieures au 3.6 ont maintenant atteint leur fin de vie. La version 3.5 a atteint sa fin de vie le 13 septembre et ne sera désormais plus prise en charge par l’équipe du langage. Python 3.9 subit à présent les derniers correctifs de bogues et sera livré le 5 octobre et Python 3.10 est en cours de développement.

    Python 3.5 a représenté un tournant majeur dans le débat qui divisait la communauté par rapport au passage de la branche 2.x à la branche 3.x. En effet, dès sa sortie, Python 3 n’a pas vraiment suscité l’enthousiasme d’une grande partie de la communauté, qui utilisait toujours Python 2, et il a fallu attendre l’arrivée de cette cinquième itération de la version 3 pour que les choses commencent à évoluer. Elle a été livrée avec un grand nombre de nouveautés et de changement devant inciter les développeurs ainsi que les organisations à sauter le pas, un effort qui n’a pas été totalement vain.

    Notons que les débats sur ces deux versions de Python résidaient dans le fait que certains développeurs ont trouvé trop brutale la transition entre 2.x et 3.x, à cause d’une certaine rupture de la compatibilité. S’il semble idéal de commencer les nouveaux projets Python avec les versions 3.x, toutefois la migration des projets existants pourrait s’avérer très coûteuse, principalement pour les grands projets. Pour cette raison, de nombreuses entreprises s’accrochaient aux anciennes versions. Plusieurs sondages ont révélé que pas mal d’organisations utilisaient toujours Python 2 en 2020.


    En août 2019 par exemple, il a été rapporté que plus de 100 projets Python populaires utilisent toujours la version 2 du langage, mais ces derniers ont annoncé qu’ils s'engageaient à abandonner Python 2 courant 2020. L'agence britannique de cybersécurité a appelé à arrêter de supporter cette version de Python. À ce jour, il n’est pas certain que tous sont déjà passés à l’une des moutures de Python 3, mais ce qui est certain, c’est que la fondation Python a cessé de supporter Python 2.7, la dernière version de Python 2, depuis le 1er janvier de cette année comme elle l’avait annoncé en 2018.

    À l’opposé, les autres développeurs estiment que les améliorations qui ont été introduites dans Python 3.x, comme pour le support de l’Unicode sont suffisantes pour abandonner les versions 2.x. D’autres parmi eux avaient expliqué que l’abandon du support de Python 2.x serait la bienvenue, dans la mesure où l’utilisation parallèle de ces différentes versions pourrait tuer le langage et entrainer un exode vers d’autres langages équivalents. Ainsi, l’arrêt définitif du support de Python 2 est intervenu quelques mois après la sortie de Python 3.8 (octobre 2019).


    Si Python 3.6 est maintenant la plus ancienne version de Python prise en charge, son support s’éteindra dès décembre 2021. Dans le même ordre, la fin de vie des versions 3.7 et 3.8 suivra respectivement en juin 2023 et en octobre 2024. Pour l’instant, seule la version 3.8 continuera à bénéficier de correctifs de bogues. Dans le cas de Python 3.6 et 3.7, seuls des correctifs de sécurité sont toujours disponibles pour ces deux versions. En outre, la version 3.9 est en attente de publication, et ainsi, elle fait actuellement l’objet d’une correction des bogues répertoriés dans les versions alpha. Voici une liste des fonctionnalités auxquelles il faut s’attendre.

    • la possibilité de construire des types génériques dans les collections standard ;
    • un nouvel analyseur PEG ;
    • une ordre topologique
    • plusieurs nouvelles méthodes de calcul et d'analyse des chaînes de caractères ;
    • nextafter(a, b) qui retourne le prochain nombre flottant après a allant vers b ;
    • ulp(a) qui retourne la valeur du bit le moins significatif d'un flottant. ULP signifie “Unit in the Last Place” et est utilisé comme mesure de précision dans les calculs numériques ;
    • etc.

    Il s’agit là seulement de quelques fonctionnalités prévues pour être livrées avec Python 3.9. L’équipe de développement du langage avait annoncé que certaines de ces fonctionnalités se traduisent par un code plus propre et plus compréhensible, et que d'autres pourraient recadrer l’état d'esprit sur la grammaire Python. Les travaux sur Python 3.10, qui succédera à Python 3.9, sont également déjà en cours. C’est l’actuelle branche master du projet et la seule à même de recevoir de nouvelles fonctionnalités. Entre autres changements annoncés, en voici quelques-uns.

    • le type int a désormais une nouvelle méthode “int.bit_count()”, qui renvoie le nombre de "uns" (1) dans l'expansion binaire d'un entier donné, aussi appelé nombre de population ;
    • les vues renvoyées par dict.keys(), dict.values() et dict.items() ont maintenant toutes un attribut de mapping qui donne un objet types.MappingProxyType enveloppant le dictionnaire original ;
    • la fonction zip() a maintenant un drapeau strict optionnel, utilisé pour exiger que tous les itérables aient une longueur égale ;
    • les fonctions de construction et d'extension qui prennent des arguments entiers n'acceptent plus les décimales, les fractions et autres objets qui ne peuvent être convertis en nombres entiers qu'avec une perte ;
    • etc.

    La version 3.9 sera livrée le 5 octobre prochain, tandis que la version 3.10 est attendue pour le 4 octobre 2021. Si la branche 3 continue d'évoluer, il est quand même important de savoir si la communauté est actuellement sur la même longueur d’onde. Autrement dit, est-ce que la grande majorité des projets Python utilisent aujourd’hui Python 3.x ? Un sondage devra être fait afin d'en savoir plus. Cependant, certains commentaires d’internautes montrent que beaucoup continuent encore d’utiliser Python 2.x.

    Source : Python

    Et vous ?

    Qu'en pensez-vous ?
    Quelle version de Python utilisez-vous ?
    Avez-vous déjà fait la migration vers Python 3.x ? Sinon, pourquoi ?

    Voir aussi

    Python 3.5.0 disponible avec une pile de nouveautés et améliorations. Faut-il maintenant mettre fin au support de Python 2.x ?

    Plus de 100 projets Python populaires s'engagent à abandonner Python 2.x d'ici 2020. L'agence britannique de cybersécurité appelle également à arrêter de supporter cette version de Python

    Python 3.9, la prochaine version du langage Python : construction des types génériques dans les collections standard et un analyseur PEG pour CPython

    Les chiffres clés de la communauté Python en 2019 : EDI, frameworks, SGBD, plateformes cloud, etc. Quelles sont les technologies les plus utilisées ?
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre régulier
    Ma boite qui bosse encore sur Python 2.7 :


  3. #3
    Membre averti
    Meme situation chez nous:

    if it ain't broke, don't fix it.

  4. #4
    Expert éminent sénior
    Moi je suis passé à P3 depuis l'an dernier et je regrette pas. Je dis pas que ça n'a pas été douloureux parfois mais bon, j'ai passé le plus dur. Le seul truc qui m'embête, c'est que tous les Linux que j'utilise (Debian, Ubuntu) sont sous Python 3.6 or la 3.7 a apporté quelques améliorations que j'aurais aimé utiliser (pouvoir forcer les paramètres de fonctions à être nommés par exemple).
    Même la dernière version d'Ubuntu téléchargée en août est toujours sous 3.6 !!! C'est dommage (ou alors je le compile moi-même mais après il faudra compiler les librairies annexes style Qt).
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

  5. #5
    Expert éminent sénior
    Citation Envoyé par Sve@r Voir le message

    Même la dernière version d'Ubuntu téléchargée en août est toujours sous 3.6 !!! C'est dommage (ou alors je le compile moi-même mais après il faudra compiler les librairies annexes style Qt).
    Euh ???
    https://wiki.ubuntu.com/FocalFossa/ReleaseNotes#Python3_by_default
    Other base system changes since 18.04 LTS
    Python3 by default
    In 20.04 LTS, the python included in the base system is Python 3.8. Python 2.7 has been moved to universe and is not included by default in any new installs.

    Remaining packages in Ubuntu which require Python 2.7 have been updated to use /usr/bin/python2 as their interpreter, and /usr/bin/python is not present by default on any new installs. On systems upgraded from previous releases, /usr/bin/python will continue to point to python2 for compatibility. Users who require /usr/bin/python for compatibility on newly-installed systems are encouraged to install the python-is-python3 package, for a /usr/bin/python pointing to python3 instead.
    Cordialement.

  6. #6
    Membre averti
    Citation Envoyé par Sve@r Voir le message
    Moi je suis passé à P3 depuis l'an dernier et je regrette pas. Je dis pas que ça n'a pas été douloureux parfois mais bon, j'ai passé le plus dur. Le seul truc qui m'embête, c'est que tous les Linux que j'utilise (Debian, Ubuntu) sont sous Python 3.6 or la 3.7 a apporté quelques améliorations que j'aurais aimé utiliser (pouvoir forcer les paramètres de fonctions à être nommés par exemple).
    Même la dernière version d'Ubuntu téléchargée en août est toujours sous 3.6 !!! C'est dommage (ou alors je le compile moi-même mais après il faudra compiler les librairies annexes style Qt).
    Les systèmes que tu utilises ne doivent pas être à jour. Sous Debian Buster on a droit à la version 3.7 : https://packages.debian.org/stable/python3

    Donc j'imagine que sous Ubuntu c'est au minimum également la 3.7 voir la 3.8.

  7. #7
    Expert éminent sénior
    Citation Envoyé par Se7h22 Voir le message
    Donc j'imagine que sous Ubuntu c'est au minimum également la 3.7 voir la 3.8.
    Ouais, je viens de re-vérifier et effectivement sur la dernière Ubuntu c'est un P3.8. Je sais pas ce que j'avais aux yeux la dernière fois que j'ai regardé (mais bon, j'ai plein de machines virtuelles donc j'ai dû lancer la mauvaise).

    Pour Debian aussi je plaide la bonne foi. Je travaille sur Buster mais une Buster que j'ai téléchargé quand elle est sortie (mi-2019). Et là c'était un P3.6. Et ensuite je ne l'ai jamais mise à jour car là où je bosse, j'ai pas internet. Donc quand je veux mettre à jour mon environnement de dev, je télécharge chez-moi tous les DVD Debian (les 16, avec jigdo) que je redescends ensuite à mon taf sur un serveur qui fait alors office de dépot Debian. C'est long et c'est pas une opération que je fais tous les 4 matins. Et comme chez-moi je veux être au même niveau qu'au taf...

    Mais bon puisque Ubuntu est au niveau, lui je peux le mettre à jour. Merci à vous deux
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

###raw>template_hook.ano_emploi###