2010-03-14 22 views
7

Estoy buscando una forma de enviar el intérprete de python con mi aplicación (también escrito en python), para que no tenga que tener Python instalado en la máquina.Incrustar el intérprete de python en una aplicación de Python

Busqué en Google y encontré un montón de resultados sobre cómo incrustar el intérprete python en aplicaciones escritas en varios idiomas, pero nada para las aplicaciones writtent en python en sí ... No necesito "ocultar" mi código o hacer un binario como cx_freeze, simplemente no quiero que mis usuarios tengan que instalar Python para usar mi aplicación, eso es todo.

Gracias.

+0

Duplicado: 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, etc. –

+0

finalmente sí, pero al principio no estaba buscando congelar mi aplicación en un archivo binario, incluso si finalmente apareció como la solución más fácil para distribuir mi aplicación. – MatToufoutu

Respuesta

9

Para la distribución en máquinas Windows, busque en py2exe

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

para Macintosh, hay py2app (pero no estoy familiarizado con él)

Y para Windows y Linux, hay bbfreeze o también pyinstaller

+0

Gracias, me doy cuenta de que a pesar de que quiero proporcionar mi código fuente con mi aplicación, la forma más sencilla de hacerlo (como dijo Ignacio) sería congelar mi aplicación en un archivo binario y también enviar el código fuente. con eso. – MatToufoutu

+0

Sí, con este enfoque tiene lo mejor de ambos: un código binario independiente y el código fuente, que se puede usar en el intérprete, ¿desea el usuario hacer esto y/o decide modificar el programa? – mjv

2

Necesita algún tipo de ejecutable de para iniciar Python. Puede ser también en el que se ha congelado tu aplicación.

La alternativa es copiar el archivo ejecutable, la biblioteca y los elementos del archivo stdlib que necesita en un directorio privado e invocarlos en su aplicación.

2

Hacer un binario congelado utilizando una utilidad como cx_freeze o py2exe es probablemente la forma más fácil de hacerlo. De esa forma solo necesitas distribuir el ejecutable. Sé que es posible que prefiera no distribuir un archivo binario, pero si eso es una preocupación, siempre podría ofrecer a los usuarios la opción de descargar el código fuente y ejecutarlo desde un intérprete.

0

Para Windows: py2exe

Para Linux: Freeze

La revelación completa: Sólo he leído sobre ellos, nunca los utiliza. Tal vez algunos que tienen pueden comentar?

0

Eche un vistazo a http://www.python-packager.com, es un servicio web gratuito para compilar binarios de python redistruibles basados ​​en el instalador. Lo he usado para crear aplicaciones para Windows y es muy fácil de usar, y también funciona con aplicaciones de GUI.

+0

sitio se ha ido, ahora se redirige a http://pythoncentral.org/ –

Cuestiones relacionadas