Tout comme nombre d'autres langages, Python, à travers la PSF et les PEPs, essaie de mettre en place un ensemble d'outils, de process et de recommandations pour sa communauté. Ainsi, dans la continuité de son serveur de packages/modules, Pypi et bientôt Wharehouse, la PEP427 de 2012 a été émise.
Cette PEP vise à répondre à une demande continuelle, depuis plusieurs années, de la communauté: définir un format standard de distribution.
Le format ainsi définit, le "Wheel" (extension ".whl"), vise à palier au défaut des formats préexistant (tarball, egg...) d'une façon très simple: un fichier par architecture (32/64 bits, OS...). Ce faisant, si le travail est plus complexe côté développeur, car il faut générer un fichier par architecture différente, le gain est indéniable pour l'utilisateur.
En effet, chaque fichier étant dédié à une architecture, il n'y a plus d'étape de compilation. L'installation consiste alors, en résumé, à une simple intégration de code dans le « site-packages » de Python, minimisant au maximum les erreurs d'installation (qui n'a jamais eu la moindre erreur à la compilation de lxml ??).
Fort de ce nouveau format, les packages les plus usités ont entamé et presque fini leur migration.
Et vous, de votre côté, comment distribuez-vous votre code ?
- Format officiel Wheel
- code seul sans setup.py
- Code seul avec setup.py
- egg
- tarball
- Paquet système (deb, rpm...)
- Autre (précisez)
Pourquoi ce format ?
Quand pensez-vous migrer vers le format Wheel si ce n'est pas déjà fait ?
Quelles sont les raisons qui peuvent vous freiner dans cette migration ?
Partager