Vous êtes ici : Accueil Articles GLMF Utiliser le meilleur de Python 2.x et de Python 3.x au sein d’une seule et même application

Utiliser le meilleur de Python 2.x et de Python 3.x au sein d’une seule et même application

La branche Python 2.x a fait ses preuves, elle est aujourd’hui stabilisée et dispose d’un nombre hallucinant de bibliothèques et frameworks qui font de Python ce qu’il est aujourd’hui. Cependant, Python 2.x a également montré quelques limites et les améliorations que le langage devait subir nécessitaient forcément de casser la rétro-compatibilité et donc de passer dans une nouvelle branche, tout en offrant bien entendu à tous les utilisateurs des moyens efficaces permettant de convertir une application vers Python 3.x. Les efforts portés sur cette nouvelle branche de Python permettent des avancées techniques très appréciables, mais sont également un apport inégalé en terme de cohérence. Une fois que l’on y a goûté, difficile de continuer à travailler encore avec l’ancienne branche et pourtant, on le doit néanmoins, car certaines bibliothèques ou frameworks ne sont pas encore portés. Cet article a pour but principal de montrer une solution acceptable permettant de commencer un nouveau projet en développant directement en Python 3.x tout ce qui est faisable (sachant qu’une partie conséquente des bibliothèques a déjà été portée) et en continuant d’utiliser Python 2.x pour le reste, en attendant le portage. Ceci permettra de n’avoir à migrer qu’une petite partie de l’application le jour ou toutes les librairies seront disponibles pour la branche 3.x. Cet article présentera progressivement chaque étape, pas à pas, en insistant sur les choix effectués et sur les différentes problématiques à résoudre qui vont du détournement de contraintes techniques au découplage entre composants. Il s’adresse aussi bien à des développeurs Python expérimentés qui hésitent à passer à la branche 3.x à cause d’un module non encore porté ou à des développeurs débutants qui pourront se lancer directement dans la dernière version (3.2) sans crainte de devoir trop réapprendre le Python 2.x après coup.

Vous pouvez retrouver cet article dans le GNU/LINUX Magazine France n°145 de Janvier 2012, en page 75.

Cet article propose un exemple concret qui sert à illustrer mes propos. Celui-ci est une mini application d'exemple utilisant Python 2.x et Python 3.x. Il se trouve ici. Cette archive contient l'ensemble des exemples fournis pour l'article. Chaque exemple est centré autour d'une seule fonctionnalité, le tout est très progressif.

L'ensemble des explications est à retrouver dans le magazine que l'on peut retrouver sur le site de l'éditeur nouvellement refait : http://ed-diamond.com/.

Mots-clés associés : , , , , , , , ,
Spinner