Malgré les avertissements et les recommandations émis par la PSF ainsi que Guido van Rossum, le créateur du langage de programmation Python, de nombreux projets sont encore basés sur les versions 2.x du langage de programmation Python. Pour les développeurs, les raisons sont diverses. Certains affirment qu’ils ont hérité d’une base de code écrite en Python 2 et mettre à niveau ce code amènerait à tout réécrire, ce qui serait difficile à réaliser. Pour d’autres, ils restent attachés à Python 2 à cause de certains désagréments qu’ils imputent à la version 3 du langage comme la lenteur, la gestion des paquets qui serait cauchemardesque, la mauvaise implémentation d’Unicode, etc. Pour d’autres encore, ce serait juste une question de préférence, car se sentant plus à l’aise avec Python 2 que Python 3. Somme toute, un grand nombre de projets tournent encore sur Python 2 alors que l’abandon de cette version a été déjà acté.
Si certains développeurs persistent à intégrer Python 2 dans leurs projets, Red Hat qui soutient la distribution GNU/Linux Fedora est résolument tourné vers la suppression des paquets fonctionnant avec Python 2 et intégrés jusque-là dans Fedora. Récemment, une analyse des paquets intégrés intégrés à la distribution a permis de mettre en évidence de grandes avancées dans l’objectif de passer à Python 3 uniquement. En effet, sur 4324 paquets analysés dans Fedora, 4280 paquets prendraient en charge uniquement Python 3. Cela représente un taux de 99 % des paquets fonctionnant uniquement avec Python 3. Pour ce qui concerne les 10 % de paquets qui n’ont pas encore migré vers Python 3 et qui sont encore détectés dans Fedora, l’on peut les décomposer en plusieurs groupes.
Selon les mainteneurs de Fedora, 29 paquets fonctionnent avec Python 2 et n’ont pas encore été portés sur Python 3. Ci-dessous la liste des paquets concernés.
- InsightToolkit
- NFStest
- chromium
- email2trac
- flowcanvas
- gimp (nécessaire pour gimp-layer-via-copy-cut, gimp-resynthesizer)
- kdissert
- mailman
- malaga-suomi-voikko
- offlineimap
- qt5-qtwebengine
- qtwebkit
- seamonkey
- sems
- slv2
- sugar-view-slides
- telepathy-mission-control
- thunderbird
- trac-batchmodify-plugin
- trac-customfieldadmin-plugin
- trac-monotone-plugin
- trac-navadd-plugin
- trac-privateticketsplugin
- trac-themeengine-plugin
- trac-tocmacro-plugin
- trac-tracnav-plugin
- trac-vatar-plugin
- trac-watchlist-plugin
- trac-workflowadmin-plugin
À la suite de cette liste, l’on a également 6 paquets qui prennent en charge à la fois Python 2 et Python 3.
À côté de ces différentes catégories, les développeurs de Fedora rapportent qu’il y a certains groupes de paquets liés à des dépendances qui sont susceptibles d’avoir besoin de Python 2.7 dans Fedora 32 ou les versions supérieures. Lorsqu’un paquet se retrouve dans ce cas, il aura besoin d’une exception du FESCo (Fedora Engineering Steering Committee ou en français Comité directeur de l’ingénierie Fedora qui gère le processus d’acceptation de nouvelles fonctionnalités, les problèmes de maintenance et d’autres questions techniques liées à la distribution et à la construction de Fedora) pour rester dans Fedora. Les paquets concernés par cette dernière catégorie sont entre autres le navigateur Chrome, GIMP, la base de données PostgreSQL, PyPy, l’environnement de bureau Sugar, etc.
Alors que pour de nombreux développeurs, cette opération de nettoyage de Fedora s’avère plus que nécessaire pour aller de l’avant, certains utilisateurs de la distribution GNU/Linux estiment qu’il serait intéressant de donner encore du temps aux propriétaires des paquets basés sur Python 2 pour les corriger au risque de pénaliser les utilisateurs de la distribution en supprimant les paquets basés sur Python 2.x.
Source : Python 2 dropping database
Et vous ?
Quels commentaires faites-vous des projets qui sont encore liés à Python 2.x ;?
Que pensez-vous de la suppression des paquets utilisant Python 2 dans Fedora ;?
Êtes-vous encore contraints d’utiliser Python 2 dans vos projets ;? (Si oui, donnez quelques raisons qui vous y obligent).
Voir aussi
Python Software Foundation annonce qu’elle mettra fin au support de Python 2 à partir du 1er janvier 2020 et prévient qu’elle n’apportera plus son aide pour tout problème rencontré après cette date
Alors que la fin du support de Python 2.7 approche à grands pas, certains utilisateurs manifestent leur réjouissance, tandis que d’autres sont tristes, comment accueilliez-vous la fin de Python 2 ;?
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
RHEL : Red Hat compte remplacer Python 2 par Python 3 dans la prochaine version majeure de sa distribution Linux
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