Jak mogę dystrybuować natywny plik wykonywalny dla programu Python?

11

Ostatnio cała moja praca była w języku Python (i Ruby) i jestem zakochana w tych dwóch językach. Istnieje wiele bibliotek do tworzenia gier w Pythonie, ale widzę problem polegający na tym, że wiele z tych frameworków nie obejmuje aspektu „dystrybucji” tworzenia gier. Chciałbym zakodować swoją grę w Pythonie (i innych potrzebnych dodatkowych bibliotekach Pythona) i móc rozpowszechniać pliki wykonywalne na głównych platformach PC (Windows, Mac i Linux).

Jakieś opcje lub jakie są najlepsze kombinacje tego? (może pyglet + cx_freeze)


źródło

Odpowiedzi:

13

Niektóre opcje dla Pythona:

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

    Zła wiadomość jest taka, że ​​o ile wiem, nie można tworzyć plików binarnych dla platformy z innej platformy. Przyczyną wydają się być zależności od bibliotek specyficznych dla platformy.

    Edycja : Przy okazji, możesz zainteresować się tą tabelą porównawczą . Facet też używał pygletu.

CeeJay
źródło
4

py2exe + NSIS działa wystarczająco dobrze, chociaż zwykle może zająć trochę voodoo, aby ustalić właściwą konfigurację py2exe (ale musisz to zrobić tylko raz). Możesz także spojrzeć na generowane przez setuptools skrypty oparte na punktach wejścia i interfejs API pkg_resources do pracy z plikami danych.

koderanger
źródło
Korzystam z tego systemu i uważam, że jest on dość użyteczny, jeśli trochę stromy na krzywej uczenia się.
Paige Watson,