Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Python Mega Widgets et déployement d'une application

1 réponse
Avatar
Géo
Bonjour,

Dans son livre "Apprendre à programmer avec Python", Gérard Swinnen consacre
quelques pages à la librairie "Python Mega Widgets". A votre connaissance,
est-ce que py2exe permettra de générer (simplement?) un programme pouvant
s'exécuter sur n'importe quelle machine ne disposant pas de Python ? Et cela
meme si vous utilisez PMW ? Et quant est-il des autres toolkits graphiques ?

L'idée, avant de se lancer plus avant dans Python, c'est de savoir s'il est
vraiment aisé d'installer (de déployer) un programme Python disposant d'une
GUI... et sans que la machine "cible" n'ait Python d'installé !? Pour que
cette opération soit vraiment simple :
1) est ce qu'il faut se limiter au "Tkinter standard" ?
2) Ou bien peut-on, sans aucune complication supplémentaire, utiliser
n'importe quelle librairie écrite en Python (comme PMW) ?
3) Ou bien encore cela reste toujours aussi simple avec n'importe quel
toolkit graphique et autant utiliser d'emblé wxWindows / Qt / GTK / FLTK...?

A priori, je répondrais "Oui" aux deux premières questions, et franchement
"Non" à la troisième !

Merci pour votre retour d'expérience à ce sujet, et donc de confirmer /
infimer mes "à prioris" ;-)

Cordialement

1 réponse

Avatar
Eric Brunel
Géo wrote:
Bonjour,

Dans son livre "Apprendre à programmer avec Python", Gérard Swinnen consacre
quelques pages à la librairie "Python Mega Widgets". A votre connaissance,
est-ce que py2exe permettra de générer (simplement?) un programme pouvant
s'exécuter sur n'importe quelle machine ne disposant pas de Python ? Et cela
meme si vous utilisez PMW ? Et quant est-il des autres toolkits graphiques ?

L'idée, avant de se lancer plus avant dans Python, c'est de savoir s'il est
vraiment aisé d'installer (de déployer) un programme Python disposant d'une
GUI... et sans que la machine "cible" n'ait Python d'installé !? Pour que
cette opération soit vraiment simple :
1) est ce qu'il faut se limiter au "Tkinter standard" ?
2) Ou bien peut-on, sans aucune complication supplémentaire, utiliser
n'importe quelle librairie écrite en Python (comme PMW) ?


En théorie, oui, mais PMW est un mauvais exemple: pour charger le code pour les
différents "méga-widgets", PMW utilise des import dynamiques qui font planter la
plupart des "compilateurs" Python (j'ai testé pour vous avec McMillan Installer,
mais c'est très certainement la meme chose avec py2exe ou d'autres).

Cela dit, il y a une solution très simple pour que ça marche, documentée ici:
http://pmw.sourceforge.net/doc/dynamicloader.html

En résumé, c'est juste un script Python livré avec PMW qu'on doit passer une
fois avant de faire son premier freeze ou py2exe ou autre.

3) Ou bien encore cela reste toujours aussi simple avec n'importe quel
toolkit graphique et autant utiliser d'emblé wxWindows / Qt / GTK / FLTK...?


Encore une fois, je ne connais pas py2exe, donc je laisse d'autres que moi
répondre à la question. Avec McMillan Installer, il n'y a pas de problème: il
analyse toutes les dépendances en termes de librairies dynamiques et les mets
dans la distribution à coté de l'exécutable généré.

A priori, je répondrais "Oui" aux deux premières questions, et franchement
"Non" à la troisième !

Merci pour votre retour d'expérience à ce sujet, et donc de confirmer /
infimer mes "à prioris" ;-)

Cordialement


--
- Eric Brunel <eric (underscore) brunel (at) despammed (dot) com> -
PragmaDev : Real Time Software Development Tools - http://www.pragmadev.com