2012-03-26 11 views
7

Ho un'applicazione basata su Python. Voglio distribuire questa applicazione agli utenti su diversi SO (principalmente Linux, ma varie distribuzioni).Come distribuire un'applicazione Python "staticamente compilata" con dipendenze

Qual è il modo consigliato per farlo? Non voglio che gli utenti debbano installare Python. Vorrei distribuire Python con l'applicazione (che è software libero). Un po 'come un programma compilato staticamente.

In modo che l'installazione dell'intera applicazione stia semplicemente decomprimendo alcuni file in una cartella, quindi sia Python (ei moduli utilizzati) sia l'applicazione sono tutti contenuti in questa cartella (comprese le sottocartelle).

Come le altre persone distribuiscono i loro programmi Python?

È necessario che l'applicazione non si interrompa se l'utente installa Python da solo o aggiorna un python esistente. Questo è il motivo per cui ho bisogno di distribuire una copia di Python insieme all'applicazione.

risposta

1

Oppure visualizzare cx_freeze

Dal loro sito:

Chi cx_Freeze

cx_Freeze è un insieme di script e moduli per il congelamento script Python in eseguibili, in più o meno allo stesso modo di py2exe e py2app. A differenza di questi due strumenti, cx_Freeze è multipiattaforma e dovrebbe funzionare su qualsiasi piattaforma su cui Python lavora. Supporta Python 2.3 o versioni successive (incluso Python 3), poiché utilizza la funzionalità di importazione zip introdotta in 2.3.

3

Per Windows: py2exe è la mia soluzione preferita; puoi creare un .exe all-in-one, incluse le risorse.

Per Linux, sia:

  • Costruire un RPM e impostare Python come la dipendenza, o
  • Costruire un eseguibile c che integra python (DLL o libpython.so).
3

Qual è il modo consigliato di farlo? Non voglio che gli utenti debbano installare Python.

In genere, i programmi Python sono 'confezionati' con disutils ed installati per l'uso con un interprete Python esistente.

vedere: Distributing Python Modules e Installing Python Modules

Non è comune per impacchettare l'intero interprete all'interno della vostra distribuzione del software (anche se certamente possibile).

+0

Corey, sto cercando di raggruppare l'interprete python all'interno della mia distribuzione software, come consiglieresti di andare a scoprire come farlo? Grazie uomo. – Johnny