2010-03-14 12 views
7

Sto cercando un modo per spedire l'interprete python con la mia applicazione (anche scritto in python), in modo che non abbia bisogno di avere python installato sulla macchina. Ho cercato su google e ho trovato un sacco di risultati su come incorporare l'interprete python in applicazioni scritte in vari linguaggi, ma nulla per le applicazioni che scrivono in python stesso ... Non ho bisogno di "nascondere" il mio codice o fare un binario come fa cx_freeze, semplicemente non voglio che i miei utenti debbano installare python per usare la mia app, tutto qui.Interprete python incorporare in un'applicazione python

Grazie.

+0

Duplicato: http://stackoverflow.com/questions/106725/how-to-bundle-a-python-application-including-dependencies-for-windows, http://stackoverflow.com/questions/2933/an -executable-python-app, http://stackoverflow.com/questions/1950218/distributing-python-programs, ecc. –

+0

finalmente sì, ma all'inizio non stavo cercando di congelare la mia app in un binario, anche se finalmente è apparso come la soluzione più semplice per distribuire la mia app. – MatToufoutu

risposta

9

Per la distribuzione su macchine Windows, guardare in py2exe

py2exe is a Python Distutils extension which converts Python scripts 
into executable Windows programs, able to run without requiring a 
Python installation 

per Macintosh, c'è py2app (ma non sono familiarità con esso)

E per Windows e Linux, c'è bbfreeze o anche pyinstaller

+0

Grazie, mi sto rendendo conto che nonostante il fatto che voglio fornire il mio codice sorgente con la mia app, il modo più semplice per farlo (come ha detto Ignacio) sarebbe comunque di congelare la mia app in un binario e spedire anche il codice sorgente con esso. – MatToufoutu

+0

Sì, con questo approccio hai il meglio di entrambi: un binario autonomo e il codice sorgente, che può essere utilizzato all'interno dell'interprete, l'utente vorrebbe farlo e/o deciderebbe di modificare il programma. – mjv

2

È necessario del tipo eseguibile per avviare Python. Potrebbe anche essere quello in cui è stata congelata la tua app.

L'alternativa è copiare l'eseguibile, la libreria e le parti dello stdlib necessario in una directory privata e invocarlo contro l'app.

2

Fare un binario congelato utilizzando un'utilità come cx_freeze o py2exe è probabilmente il modo più semplice per farlo. In questo modo hai solo bisogno di distribuire l'eseguibile. So che potresti preferire non distribuire un binario, ma se questo è un problema puoi sempre dare agli utenti la possibilità di scaricare l'origine ed eseguire da un interprete.

0

Per Windows: py2exe

Per Linux: Freeze

Full disclosure: ho letto solo su questi, non li ha usati. Forse qualcuno che può commentare?

0

Dai un'occhiata a http://www.python-packager.com, è un servizio web gratuito per creare binari python redistrutable basati su pyinstaller. L'ho usato per creare app per Windows ed è molto facile da usare e funziona anche con le app GUI.

+0

sito è andato, ora reindirizza a http://pythoncentral.org/ –

Problemi correlati