Migration Python 3.8 vers 3.11 : retour d'expérience et pièges à éviter
Migration Python 3.8 vers 3.11 : retour d'expérience et pièges à éviter
Hello la commu ! On prépare la migration de notre codebase (150k lignes) de Python 3.8 à 3.11. Des retours d'expérience ? J'ai entendu parler de soucis avec les annotations de type...
Re: Migration Python 3.8 vers 3.11 : retour d'expérience et pièges à éviter
Je l'ai fait l'an dernier ! Le plus chiant ça a été les dépendances (numpy/pandas en particulier). Prévois un venv propre et teste chaque lib une par une. La 3.11 est plus stricte sur les types, effectivement.
-
admin_sys_gaming
- Messages : 571
- Inscription : sam. janv. 20, 2024 7:24 pm
Re: Migration Python 3.8 vers 3.11 : retour d'expérience et pièges à éviter
Attention aux f-strings avec des backslashes, la syntaxe a changé en 3.11. J'ai perdu 2 jours à debugger ça... Sinon le gain de perf vaut carrément le coup, on a gagné 15-20% sur notre ETL.
Re: Migration Python 3.8 vers 3.11 : retour d'expérience et pièges à éviter
Merci ! Vous avez utilisé quel outil pour checker la compatibilité ? J'ai testé `2to3` mais il est un peu vieux. PyCharm détecte bien les problèmes ?
Re: Migration Python 3.8 vers 3.11 : retour d'expérience et pièges à éviter
PyCharm aide mais c'est pas magique. On a codé un script custom avec `ast` pour parser les nouveautés incompatibles. Et bien sûr... des tests unitaires à fond !
Re: Migration Python 3.8 vers 3.11 : retour d'expérience et pièges à éviter
N'oubliez pas les décorateurs ! La syntaxe `@(lambda...)` qui marchait en 3.8 plante en 3.11. Et vérifiez vos chemins Windows si vous êtes sous Linux, les normalisations de path ont changé.