Newsletter Developpez.com

Inscrivez-vous gratuitement au Club pour recevoir
la newsletter hebdomadaire des développeurs et IT pro

Comment distribuez vous habituellement votre code Python ?

Le , par deusyss, Rédacteur/Modérateur
Comment distribuez vous habituellement votre code Python?
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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de bistouille bistouille - Membre averti https://www.developpez.com
le 23/05/2017 à 19:58
Je l'ai jamais fait, mais si je devais le faire un jour (je crois pas que ça arrivera), ce serait un jeu, sans doute un clone, et je le proposerais même dans les sources (deb donc), après tout y'a bien des trucs très pourris qui sont disponibles dedans avec des codes affreux et des interfaces hideuses

Mais des trucs bien comme par exemple solarwolf, un jeu fait avec pygame, certes jeu basique, mais sympa.

Voilà, et c'est surtout pour faire remonter ce sujet que je poste
Avatar de deusyss deusyss - Rédacteur/Modérateur https://www.developpez.com
le 05/06/2017 à 8:04
Je participe aussi un peu à mon propre sondage

Côté perso, je code peu mais diffuse mes codes principalement au format wheel. Quelques cas, le code seul au format fichier py, quand il s'agit de donner un coup de main à gauche à droite.

Côté pro, nous packageons au maximum en wheel pour faciliter le déploiement chez nos client, via un fichier requirement. Une partie de notre code est également compilée en executable. Nous fournissons également des deb, à la demande, pour Linux.
Avatar de tyrtamos tyrtamos - Expert éminent https://www.developpez.com
le 05/06/2017 à 11:35
Bonjour,

Je diffuse rarement mes codes dans le public, sauf ceux qui sont disponibles sous forme de code Python sur mon site web.

Quand au sein de l'association dans laquelle je participe (concours international de photos), je dois diffuser un programme Python à un utilisateur, je le fais sous forme de ".exe" pour Windows (obtenu avec cx_freeze), ce qui n'oblige pas à installer quoique ce soit sur son PC. Il m'est déjà arrivé de compléter le "exe" obtenu avec l'installeur innosetup, et ça marche bien.

Pour la même utilisation au sein d'une association, il m'est aussi arrivé de diffuser un programme sur une clé USB avec les codes Python complétés par un Windows portable (actuellement winpython). Ça aussi, ça marche très bien.

Mais c'est tout de même dommage que ces préoccupations de diffusion de programmes Python "autonomes" ne viennent pas de l'équipe éditrice de Python...
Offres d'emploi IT
Projet de film long-métrage
Studios Bry - Ile de France - Bry sur Marne
Pharo IoT engineer M/F
Inria - Ile de France - Lille /Villeneuve d'Ascq
Développeur escape game H/F
Eludice - Rhône Alpes - Saint-Étienne (42000)

Voir plus d'offres Voir la carte des offres IT
Contacter le responsable de la rubrique Raspberry Pi