Forum Programmation.python Distribution d'une application python

Posté par  (site web personnel) .
Étiquettes :
1
4
mar.
2012

Bonjour,
comme j'en ai fais l'annonce ici même, j'ai développé un logiciel de gestion de documents personnelle que je distribue sous licence GPL v3 depuis un moment.

Ce logiciel est écrit en python et fait appel à de nombreux modules externes (PIL, wx, sane, etc…)

Pour le distribuer sous windows, il y a une méthode simple mais lourde : redistribuer le tout, avec les dépendances, sous forme d'installateur executable.

Sous linux, c'est plus compliqué de packagé l'ensemble des dépendances et surtout, ça ne correspond pas trop bien à la philosophie des différents gestionnaires de packages qui, justement, gèrent les dépendances.

Donc, sous linux, j'ai le choix entre
1. utiliser distutils
2. utiliser des outils de packages rpm / deb

je ne sais utiliser ni l'un ni l'autre, mais RTFM, je sais
hé ben le FM pour distutils me parait bien abscons et surtout j'ai l'impression que distutils est plutôt fait pour distribuer des modules, pas des programmes 'standalone' me trompes-je?

En outre l'utilisateur moyen de linux (s'il existe) préfère peut être pouvoir installer le logiciel depuis son gestionnaire de package plutôt que d'utiliser easy_install non.

Donc j'ai deux question:
1) pensez vous que pour distribuer une application il vaille mieux utiliser distutils ou des packages rpm / deb
2) selon la réponse à 1) : avez vous un liens expliquant simplement comment créer un tel fichier de distribution

Merci à tous, bonne nuit

  • # So, wee meet again Mr Bond

    Posté par  . Évalué à 3.

    bbfreeze creates stand-alone executables from python scripts. It's similar in purpose to the well known py2exe for windows, py2app for OS X, PyInstaller and cx_Freeze (in fact ancient versions were based on cx_Freeze. And it uses the modulegraph package, which is also used by py2app). Et ensuite un deb? Mais j'imagine que cela puisse être considéré cradingue.

    Depending on the time of day, the French go either way.

  • # Distutils

    Posté par  (site web personnel) . Évalué à 2.

    La plupart des distributions ont des templates pour packager des logiciels python utilisant distutils, utiliser cet outil (qui peut également générer des rpms) me parait être la meilleure manière pour rendre ton logiciel le plus facilement empaquetable.

  • # python setup.py sdist

    Posté par  (site web personnel) . Évalué à 1.

    je débute en python, mais c'est ce que j'utilise, c'est compatible avec pip et easy_install et ça gère les dépendances, fonctionne sur toutes les distrib.
    ensuite il faut envoyer ça sur pypi je crois mais c'est même pas obligatoire
    a partir de la, je dirait que c'est aux mainteneurs des différentes distributions de prendre le relais

    • [^] # Re: python setup.py sdist

      Posté par  (site web personnel) . Évalué à 2.

      oui, je suis en train de me (de)battre avec…
      ca marche presque,il faut encore que je comprenne comment savoir où sont installes les fichiers de resources au moment du run-time.
      a voir

      Ceci n'est pas une signature

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.