Como posso distribuir um executável nativo para um programa Python?

11

Ultimamente, todo o meu trabalho tem sido em Python (e Ruby), e estou apaixonado por essas duas linguagens. Existem muitas bibliotecas para desenvolvimento de jogos em Python, mas o problema que vejo é que muitas dessas estruturas não cobrem o aspecto "distribuição" da criação de jogos. Gostaria de codificar meu jogo em Python (e de qualquer outra biblioteca extra pura de Python necessária) e poder distribuir um executável para as principais plataformas de PC (Windows, Mac e Linux).

Quaisquer opções disponíveis ou quais são as melhores combinações para isso? (talvez pyglet + cx_freeze)


fonte

Respostas:

13

Algumas opções para Python:

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

    A má notícia é que, até onde eu sei, você não pode criar binários para uma plataforma a partir de outra plataforma. O motivo parece ser dependências de bibliotecas específicas da plataforma.

    Edit : By the way, você pode estar interessado em olhar para esta tabela de comparação . O cara estava usando pyglet também.

CeeJay
fonte
4

O py2exe + NSIS funciona bem o suficiente, embora possa ser necessário algum vodu para descobrir a configuração correta do py2exe normalmente (mas você só precisa fazer isso uma vez). Você também pode examinar a geração de script baseada em ponto de entrada do setuptools e a API pkg_resources para trabalhar com arquivos de dados.

coderanger
fonte
Eu uso esse sistema e achei bastante útil, embora um pouco íngreme na curva de aprendizado.
Paige Watson