Wie kann ich eine native ausführbare Datei für ein Python-Programm verteilen?

11

In letzter Zeit war meine gesamte Arbeit in Python (und Ruby) und ich bin in diese beiden Sprachen verliebt. Es gibt viele Bibliotheken für die Spieleentwicklung unter Python, aber das Problem, das ich sehe, ist, dass viele dieser Frameworks den "Verteilungs" -Aspekt der Spieleerstellung nicht abdecken. Ich möchte mein Spiel auf Python (und allen anderen reinen Python-Zusatzbibliotheken, die ich benötige) codieren und eine ausführbare Datei für die wichtigsten PC-Plattformen (Windows, Mac und Linux) verteilen können.

Gibt es irgendwelche Optionen oder was sind die besten Kombinationen dafür? (vielleicht pyglet + cx_freeze)


quelle

Antworten:

13

Einige Optionen für Python:

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

    Die schlechte Nachricht ist, dass Sie, soweit ich das beurteilen kann, keine Binärdateien für eine Plattform von einer anderen Plattform aus erstellen können. Der Grund scheint in Abhängigkeiten von plattformspezifischen Bibliotheken zu liegen.

    Bearbeiten : Übrigens könnte Sie diese Vergleichstabelle interessieren . Der Typ benutzte auch Pyglet.

CeeJay
quelle
4

py2exe + NSIS funktioniert gut genug, obwohl es normalerweise etwas Voodoo braucht, um die richtige py2exe-Konfiguration herauszufinden (aber das müssen Sie nur einmal tun). Sie können sich auch die auf Einstiegspunkten basierende Skriptgenerierung von setuptools und die API pkg_resources für die Arbeit mit Datendateien ansehen.

Codierer
quelle
Ich benutze dieses System und fand es sehr nützlich, wenn auch etwas steil in der Lernkurve.
Paige Watson