118 votes

Comment puis-je créer un fichier EXE à partir d'un programme Python ?

J'ai utilisé plusieurs modules pour créer des EXEs pour Python, mais je ne suis pas sûr de le faire correctement.

Comment dois-je m'y prendre, et pourquoi ? Veuillez fonder vos réponses sur votre expérience personnelle et fournir des références si nécessaire.

0 votes

0 votes

Voir ceci question similaire .

0 votes

98voto

Josh Segall Points 1996

PY automatique vers EXE - Un convertisseur de .py en .exe utilisant une interface graphique simple construite avec Eel et PyInstaller en Python.


py2exe est probablement ce que vous voulez, mais il ne fonctionne que sous Windows.
PyInstaller fonctionne sous Windows et Linux.
Py2app fonctionne sur le Mac.

5 votes

Je pense que cx_Freeze cx-freeze.sourceforge.net/cx_Freeze.html est une meilleure alternative (multiplateforme).

0 votes

Platypus (Mac uniquement) est également très bon pour créer une application à partir de scripts Python.

4 votes

PyInstaller était parfait, extrêmement simple et rapide. py2exe ne fonctionnait pas avec python 3.5 et n'intégrait pas tous les modules dans le fichier .exe.

10voto

Diego Castro Points 1953

J'ai trouvé cette présentation très utile.

Comment distribuer des applications Python sur Windows - py2exe & InnoSetup

Du site :

Il existe de nombreuses options de déploiement pour code Python. Je vais partager ce qui a qui ont bien fonctionné pour moi sous Windows, le packaging d'outils en ligne de commande et de commande et des services utilisant py2exe et InnoSetup. Je démontrerai un simple build script qui crée les binaires Windows et un installateur installateur InnoSetup en une seule étape. Sur En outre, je vais passer en revue les erreurs courantes qui surviennent lors de l'utilisation de py2exe et des conseils pour les résoudre. Il s'agit d'une une courte présentation, il y aura donc une session Open Space de suivi pour partager d'expérience et de s'entraider pour résoudre les problèmes de distribution.

3voto

1.01pm Points 759

Pas sur la liste des freehackers est gui2exe qui peut être utilisé pour construire des exécutables Windows autonomes, des applications Linux et des bundles et plugins d'applications Mac OS à partir de scripts Python.

0 votes

Gui2exe a quelques problèmes si vous utilisez le module wxpython utlis sous Windows OS.

3voto

Nick Stinemates Points 5642

py2exe :

py2exe est une extension de Python Distutils qui convertit les scripts Python en programmes Windows exécutables, capables de fonctionner sans nécessiter une installation de Python.

3voto

Dreality Points 56

Également connus sous le nom de "Frozen Binaries", ils ne sont pas identiques à la sortie d'un vrai compilateur. Ils exécutent le code d'octet à travers une machine virtuelle (PVM). Ils s'exécutent de la même manière qu'un programme compilé, mais en plus grand parce que le programme est compilé en même temps que la PVM. Py2exe peut geler des programmes autonomes qui utilisent les librairies GUI tkinter, PMW, wxPython et PyGTK ; des programmes qui utilisent la boîte à outils de programmation de jeux pygame ; des programmes clients win32com ; et plus encore. Le système Python Stackless est une variante de l'implémentation standard de CPython qui ne sauvegarde pas d'état sur la pile d'appel du langage C. Cela rend Python plus facile à porter sur des architectures à petite pile, fournit des options de multiprocessing efficaces et favorise de nouvelles structures de programmation telles que les coroutines. D'autres systèmes d'étude qui travaillent sur le développement futur : Pyrex travaille sur le système Cython, le projet Parrot, le PyPy travaille sur le remplacement total de la PVM, et bien sûr le fondateur de Python travaille avec Google pour que Python s'exécute 5 fois plus vite que le C avec le projet Unladen Swallow. En résumé, py2exe est le plus facile et Cython est plus efficace pour le moment, jusqu'à ce que ces projets améliorent la machine virtuelle Python (PVM) pour les fichiers autonomes.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X