Transformer code python en fichier exécutable

Bonjour,
Ca fait un bout de de temps que je ne suis pas passé sur le forum mais sur les conseils de Jean Noël, je viens vers vous pour pour demander un coup de main.
J’ai presque finalisé une appli péda en python sur ma machine de développement . Pour la phase de tests dans les classes, je souhaite créer un fichier d’install pour OSx, Windows et Linux.
Je n’ai jamais fait cela mais j’ai vu que c’était possible.
Quelqu’un pourrait-il me filer un coup de pouce sur ce sujet ?
Merci,
Gilles

Bonjour Gilles,
Ce n’est pas toujours évident de demander de l’aide, surtout lorsqu’on devient développeur d’applications, donc super pour cette démarche. Je suis novice en programmation et je ne connais pas Python, mais ta question m’a interpelé. Du coup quelques recherches m’ont conduit vers ces 2 ressources qui semblent faire partie des bonnes pratiques en matière d’installation d’applications Python pour différentes plateformes :

https://packaging.python.org/en/latest/discussions/deploying-python-applications/

https://docs.beeware.org/en/latest/tutorial/tutorial-3.html

Sans rien connaître, je pense que je testerais les approches mentionnées ici.

PS : si tu es très pris et n’a pas beaucoup de temps pour réaliser le déploiement de ton application, je pourrais éventuellement donner un coup de main. A voir.

Il me semble qu’une méthode assez commune pour créer un exécutable est de faire appel à PyInstaller

https://pyinstaller.org/en/stable/

Une limite de PyInstaller est de ne pas pouvoir faire du cross-compiling. C’est plutôt génant par rapport à ton souhait de produire des exécutables pour des architectures différentes.

Bonsoir Jao,
Merci pour ton message. Oui, j’avais regardé du côté de PyInstaller qui me semblait adapté à mon cas. Je voulais savoir si quelqu’un avait déjà pratiqué. Beeware n’est pas adapté je pense car j’ai déjà mon code en interface Tkinter.
Au fait, c’est quoi “cross compiling ?” ?

1 « J'aime »

De ce que je comprends PyInstaller permet de créer un exécutable compatible avec le système depuis lequel il est utilisé. A vérifier quand même, par exemple, si tu produis un exécutable avec PyInstaller depuis Linux, il ne pourrait pas cibler les systèmes Windows ou MacOS.

Merci jao,
On progressse … Effectivement PyInstaller ne permet pas les “compilations croisées”. Ça va m’obliger à installer un environnement python et tous les packages pour pouvoir créer un exe.
J’avais déjà suivi cette vidéo de cette youtubeuse qui explique comment créer un exe.
https://www.youtube.com/watch?v=p3tSLatmGvU&t=157s

Comment vas-tu t’y prendre pour installer cet environnement ?

Je trouve sympa de partager certaines expériences personnelles relatives à des aspects de programmation avancée comme pour ce fil de discussion. J’ai creusé un peu plus dans mes recherches autour de la notion (Python) de code freezing, et je te laisse quelques liens supplémentaires :

Salut Jao,
Merci pour les liens : intéressant.
> Comment vas-tu t’y prendre pour installer cet environnement ?
Et ben comme j’ai fait sur ma machine Linux de développement : installer Python 3.10, VS Codium et toutes les dépendances nécessaires : La galère mais jouable. Je ne connais rien à Docker pour faire tourner 3 OS sur ma machine.
En tout cas, ça fait du bien de se sentir moins seul sur cette dernière ligne droite du projet Python. Merci. Pour ce qui est du code j’ai mon neveu qui me file un coup de main de temps en temps, pour la partie péda et didactique, je suis ok et bien entouré mais pour cette dernière partie c’est un peu l’'inconnu. Tu me dis si t’as un peu de temps et d’envie de te pencher sur cette partie.

Salut Gilles,

Il me semble maintenant que la finalisation de ton application est un peu plus complexe que ce que j’avais imaginé au début par méconnaissance du sujet. Pour te dire que je n’aurais pas la disponibilité nécessaire pour m’y plonger maintenant, car il me manque des connaissances sur l’environnement et le langage Python, les containers. Du coup je suis un peu plus frileux. Mais pour autant je trouve toujours ton problème intéressant. Je te recontacterai d’ici quelques semaines pour savoir où tu en es, si tu as commencé à avancer sur cette partie. Merci en tout cas pour ta confiance, mais je le redis quand même, je suis novice.

Cross compiling : plateforme de compilation

Bonjour à tous,

Le problème de multi-cross compiling amène de nombreux utilisateurs de Linux à opter pour un MacBook, en y installant Linux et Windows en dualboot. Il est également possible d’utiliser des outils de virtualisation tels que VirtualBox.

Pour ma part, je préfère développer en Java, qui est naturellement multiplateforme. Pas besoin de générer des fichiers .exe, etc.

Si tu rencontres des difficultés, n’hésite pas à m’envoyer ton fichier, je peux le compiler pour chaque plateforme. Je dispose de toutes les plateformes en version native.

Bonne journée à tous.
Libre et solidaire.

1 « J'aime »

Oh merci DjTuxx ! Effectivement, je ferai peut-être appel à toi. pour l’instant, la priorité c’est windows car 99 % des professeurs des écoles sont sous cet OS. Je vais donc préparer une machine Windows avec un environnement Python et voir si j’arrive à compiler (m^me un foeutus de programme) avec PyInstaller.
A suivre donc…
Merci encore à toi et à djao pour le coup de pouce.

1 « J'aime »