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 Frank-N-Furter . É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.
[^] # Re: So, wee meet again Mr Bond
Posté par david guez (site web personnel) . Évalué à 1.
merci!
effectivement, c'est un peu perdre l'interet des gestionnaire de package, mais si je n'ai pas le choix, je verrais.
bye
Ceci n'est pas une signature
# Distutils
Posté par paulez (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.
[^] # Re: Distutils
Posté par david guez (site web personnel) . Évalué à 1.
ha merci, c'est ça que je cherchais en fait… si tu as un liens, pour n'importe quelle distribution, je t'offre une version gratuite de MALODOS (et même deux ou mille, on en discute après).
Ceci n'est pas une signature
[^] # Re: Distutils
Posté par paulez (site web personnel) . Évalué à 1.
La doc Gentoo : http://devmanual.gentoo.org/ebuild-writing/functions/src_compile/distutils/index.html (l'exemple donne un ebuild de deux lignes, pas mal)
Le prototype de package python pour Archlinux : https://projects.archlinux.org/abs.git/tree/prototypes/PKGBUILD-python.proto
Pour faire un rpm c'est expliqué dans la doc : http://docs.python.org/distutils/builtdist.html
Les autres je ne connais pas.
# python setup.py sdist
Posté par yohann (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 david guez (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.