Comment puis-je distribuer un exécutable natif pour un programme Python?

11

Dernièrement, tout mon travail a été en Python (et Ruby), et je suis amoureux de ces deux langues. Il existe de nombreuses bibliothèques pour le développement de jeux sur Python mais le problème que je vois est que beaucoup de ces frameworks ne couvrent pas l'aspect "distribution" de la création de jeux. Je voudrais coder mon jeu sur Python (et toutes les autres bibliothèques Python supplémentaires dont j'ai besoin) et pouvoir distribuer un exécutable pour les principales plates-formes PC (Windows, Mac et Linux).

Y a-t-il des options ou quelles sont les meilleures combinaisons pour cela? (peut-être pyglet + cx_freeze)


la source

Réponses:

13

Quelques options pour Python:

  • Multiplateforme (Win / Linux / Mac): PyInstaller
  • Multiplateforme (Win / Linux / Max): cx-freeze
  • Windows: py2exe
  • Mac: py2app

    La mauvaise nouvelle est que, pour autant que je sache, vous ne pouvez pas créer de binaires pour une plateforme à partir d'une autre plateforme. La raison semble être les dépendances des bibliothèques spécifiques à la plate-forme.

    Edit : Au fait, vous pourriez être intéressé à regarder ce tableau de comparaison . Le gars utilisait aussi pyglet.

CeeJay
la source
4

py2exe + NSIS fonctionne assez bien, même si cela peut prendre du vaudou pour trouver la bonne configuration py2exe en général (mais vous ne devez le faire qu'une seule fois). Vous pouvez également consulter la génération de script basée sur le point d'entrée de setuptools et l'API pkg_resources pour travailler avec des fichiers de données.

coderanger
la source
J'utilise ce système et l'ai trouvé très utile, même s'il est un peu raide sur la courbe d'apprentissage.
Paige Watson