Je suis relativement nouveau en programmation. J'ai récemment fait un jeu de serpent simple en utilisant python et pygame. Bien sûr, je peux facilement jouer à mon jeu en exécutant le script .py, mais en voulant le partager avec mes amis moins instruits en informatique, j'ai continué à essayer de comprendre comment compiler mon code en un seul .exe pour le rendre facile pour eux.Compiler python en un seul fichier .exe, pourquoi est-ce si difficile?
J'ai essayé py2exe et cx_Freeze, tous deux me donnant un répertoire dist ou build avec un fichier .exe et plusieurs autres fichiers (dépendances). Cela fonctionne, puisque je suis capable de compresser tout le dossier et de le distribuer via .zip, mais ce n'est pas idéal. Je veux pouvoir tout emballer dans un seul fichier. J'ai donc commencé à googler 'comment compiler python en un seul exe'. Cependant, contrairement à la plupart des problèmes de programmation que j'ai essayé de googler auparavant, je ne peux pas obtenir une réponse directe et fiable. Jusqu'à présent, la plus récente réponse fiable que j'ai essayé me donne ce script setup.py:
from distutils.core import setup
import py2exe, sys, os
sys.argv.append('py2exe')
setup(
options = {'py2exe': {'bundle_files': 1, 'compressed': True}},
windows = ['snek.py'],
zipfile = None
)
# Python 3.4.4, py2exe 0.9.2.2; modules used: pygame, random
Pourtant, il me donne un dossier entier au lieu d'un seul .exe, que le programme ne peut pas fonctionner sans. Donc, je viens à vous, l'omniscient, l'excellent, stackoverflow, avec deux questions.
Juste au cas où j'ai raté quelque chose: comment vous suggère que je réalise mon rêve unique .exe?
Et: pourquoi diable est-ce si difficile?
Avez-vous essayé Nuitka? – mbdevpl
Python n'a pas été créé pour compiler au fichier .exe et beaucoup de gens n'ont toujours pas besoin de fichier .exe donc c'est encore si compliqué. BTW. 'py2exe' (et similaire) crée un fichier .zip auto-extractible avec l'extension .exe, pas un vrai fichier .exe (comme le fait le compilateur C/C++). – furas