Migration de Python 2.7 à 3.11 : retour d'expérience sur un projet legacy

Python, JavaScript, C, PHP, algorithmes, IDE
mehdi2001
Messages : 599
Inscription : mar. mai 19, 2026 7:24 pm

Migration de Python 2.7 à 3.11 : retour d'expérience sur un projet legacy

Message par mehdi2001 »

Hello, je viens de finir la migration d'un monstre en Python 2.7 (120k lignes, django 1.8...). Si ça intéresse, je peux partager les pièges à éviter !
le_julien
Messages : 280
Inscription : sam. sept. 28, 2024 7:24 pm

Re: Migration de Python 2.7 à 3.11 : retour d'expérience sur un projet legacy

Message par le_julien »

Oh oui ! On a le même chantier ici. T'as utilisé 2to3 ou tu as tout refait à la main ? Les prints et les unicode nous cassent les pieds...
mehdi2001
Messages : 599
Inscription : mar. mai 19, 2026 7:24 pm

Re: Migration de Python 2.7 à 3.11 : retour d'expérience sur un projet legacy

Message par mehdi2001 »

2to3 pour la base, mais j'ai dû corriger manuellement 30% du code. Le pire ? Les libs abandonnées. J'ai dû réécrire notre module CSV maison.
admin_sys_gaming
Messages : 571
Inscription : sam. janv. 20, 2024 7:24 pm

Re: Migration de Python 2.7 à 3.11 : retour d'expérience sur un projet legacy

Message par admin_sys_gaming »

Vous avez testé pyupgrade ? C'est plus malin que 2to3 pour certains cas. Et pour les dépendances, pipreqs est ton ami.
kernelpanic59
Messages : 71
Inscription : jeu. sept. 21, 2023 7:24 pm

Re: Migration de Python 2.7 à 3.11 : retour d'expérience sur un projet legacy

Message par kernelpanic59 »

Moi j'ai tout mis en containers Docker pendant la migration. Comme ça l'ancien tournait encore pendant les tests. 6 mois de boulot, mais zéro régression !
mehdi2001
Messages : 599
Inscription : mar. mai 19, 2026 7:24 pm

Re: Migration de Python 2.7 à 3.11 : retour d'expérience sur un projet legacy

Message par mehdi2001 »

Docker oui, indispensable ! Petite astuce : j'ai gardé les deux venv en parallèle pour comparer les outputs. Et prévoir 3x plus de temps que prévu...
Répondre