2008-09-08 4 views
79

He utilizado varios módulos para hacer EXEs para Python, pero no estoy seguro si lo estoy haciendo bien.¿Cómo puedo hacer un archivo EXE desde un programa de Python?

¿Cómo debo hacer esto y por qué? Por favor, base sus respuestas en la experiencia personal y proporcione referencias cuando sea necesario.

+0

Ver este [pregunta similar] (http://stackoverflow.com/q/1646326/4794). –

+0

Ver: [** Una aplicación ejecutable de Python **] (http://stackoverflow.com/questions/2933/an-executable-python-app) –

+0

También http://stackoverflow.com/questions/5458048/how- to-make-a-python-script-standalone-executable-to-run-without-any-dependency – Mohammad

Respuesta

68

py2exe es probablemente lo que quiere, pero solo funciona en Windows.
PyInstaller funciona en Windows y Linux.
Py2app funciona en la Mac.

+4

Creo que cx_Freeze http://cx-freeze.sourceforge.net/cx_Freeze.html es una mejor alternativa (plataforma cruzada) . –

+0

Platypus (solo Mac) también es bastante bueno para crear una aplicación a partir de scripts de Python. – svth

+3

PyInstaller fue perfecto, extremadamente simple y rápido. py2exe no funcionaría en Python 3.5 y no obtuvo todos los módulos en .exe –

2

py2exe:

py2exe es una extensión de Python Distutils que convierte los scripts de Python en los programas ejecutables de Windows, capaz de funcionar sin necesidad de una instalación de Python.

9

Encontré esta presentación para ser muy útil.

How I Distribute Python applications on Windows - py2exe & InnoSetup

Desde el sitio:

Hay muchas opciones de implementación para código Python. Compartiré lo que me ha funcionado en Windows, herramientas de línea de comandos de empaque y servicios usando py2exe e InnoSetup. Voy a demostrar una secuencia de comandos de compilación simple que crea los archivos binarios de Windows y un instalador InnoSetup en un solo paso. En el Además, voy a repasar los errores comunes que surgen cuando se usan py2exe y consejos para solucionarlos. Esto es una breve charla, por lo que habrá una sesión de seguimiento de Open Space para compartir la experiencia y ayudarse mutuamente a resolver problemas de distribución.

3
No

en la lista freehackers es gui2exe que puede ser usado para construir ejecutables independientes aplicaciones Windows, Linux y Mac OS paquetes de aplicaciones y plugins a partir de scripts de Python.

+0

gui2exe tiene algunos problemas si utiliza el módulo utx de wxpython en el sistema operativo Windows. – TLSK

4

También conocidos como Binarios congelados, pero no son lo mismo que la salida de un compilador verdadero, ejecutan código de bytes a través de una máquina virtual (PVM). Ejecute lo mismo que un programa compilado que sea más grande porque el programa se está compilando junto con el PVM. Py2exe puede congelar programas independientes que utilizan las libties GUI de tkinter, PMW, wxPython y PyGTK; programas que usan el juego de herramientas de programación de juegos de pygame; programas de cliente win32com; y más. El sistema Stackless Python es una variante de implementación de CPython estándar que no guarda el estado en la pila de llamadas de lenguaje C. Esto hace que Python sea más fácil de migrar a pequeñas arquitecturas de pila, proporciona opciones eficaces de multiprocesamiento y fomenta nuevas estructuras de programación, como corutinas. Otros sistemas de estudio que están trabajando en el desarrollo futuro: Pyrex está trabajando en el sistema Cython, el proyecto Parrot, PyPy está trabajando en reemplazar el PVM por completo, y por supuesto, el fundador de Python está trabajando con Google para ejecutar Python 5 veces más rápido que C con el proyecto Unladen Swallow. En resumen, py2exe es el más fácil y Cython es más eficiente por ahora hasta que estos proyectos mejoren la Máquina Virtual Python (PVM) para archivos independientes.

1

Uso cx_Freeze exe para hacer su programa pitón

Cuestiones relacionadas