Proceso para convertir un script Python simple en un ejecutable de Windows

Escribí un script que ayudará a un usuario de Windows en su vida diaria. Quiero simplemente enviarle el archivo .exe y no pedirle que instale python, dlls o que tenga que lidiar con archivos adicionales.

He leído muchas de las entradas de stackoverflow relacionadas con la comstackción de scripts de Python en archivos ejecutables. Estoy un poco confundido ya que hay muchas opciones, pero algunas parecen anticuadas (sin actualizaciones desde 2008) y ninguna fue lo suficientemente simple como para que no me lo estuviera preguntando ahora, después de unas horas dedicadas a esto.

Espero que haya una manera mejor y actualizada de hacer esto.

Miré en

  • Pylunch
  • py2exe
  • cx_Freeze
  • py2app (solo para mac)
  • pyinstaller
  • bbfreeze

pero tampoco pude hacer que funcionen o no puedo entender cómo obtener el resultado que necesito. Lo más cercano que obtuve fue con py2exe pero todavía me dio el MSVCR71.dll

Agradecería una respuesta paso a paso, ya que tampoco pude seguir algunas de las respuestas aquí que requieren cierta comprensión previa sobre cómo usar py2exe o algunas de las otras herramientas.

Estoy usando Python 2.5 porque uno de los módulos solo está disponible para esa versión.

PyInstaller creará un ejecutable de un solo archivo si utiliza la opción --onefile (aunque lo que realmente hace es extractos y luego se ejecuta solo).

Hay un tutorial simple de PyInstaller aquí . Si tiene alguna pregunta sobre su uso, por favor publíquelos …

Usando py2exe, incluye esto en tu setup.py:

 from distutils.core import setup import py2exe, sys, os sys.argv.append('py2exe') setup( options = {'py2exe': {'bundle_files': 1}}, windows = [{'script': "YourScript.py"}], zipfile = None, ) 

luego puede ejecutarlo a través del indicador de comando / inactivo, ambos funcionan para mí. Espero eso ayude

Recomendaría ir a http://sourceforge.net/projects/py2exe/files/latest/download?source=files para descargar py2exe. Luego haz un archivo python llamado setup.py. Dentro de ella, escriba

 from distutils.core import setup import py2exe setup(console=['nameoffile.py']) 

Guarde en su carpeta de usuario También guarde el archivo que desea convertir en la misma carpeta

Ejecute el comando de ventana escriba en setup.py install py2exe

Debe imprimir muchas líneas de código …

A continuación, abra la carpeta dist.

Ejecute el archivo exe .

Si hay archivos necesarios para que el progtwig funcione, muévalos a la carpeta

Copiar / Enviar la carpeta dist a persona.

Opcional: cambiar el nombre de la carpeta dist

¡Espero que funcione!:)

Me uniría a @Nicholas para recomendar PyInstaller (con la --onefile ), pero tenga --onefile : no use la “última versión”, PyInstaller 1.3: tiene años . Use el “prelanzamiento” 1.4, descárguelo aquí , o incluso mejor el código del repository de svn , instale SVN y ejecute svn co http://svn.pyinstaller.org/trunk pyinstaller .

Como lo indica @Nicholas, las bibliotecas dinámicas no se pueden ejecutar desde el mismo archivo que el rest del ejecutable, pero afortunadamente se pueden empaquetar junto con el rest en un ejecutable de “auto-desempaquetado” que se descomprimirá en algún directorio temporal como necesario; PyInstaller hace un buen trabajo en esto (y en muchas otras cosas, py2exe es más popular, pero en mi opinión, en cualquier otro pyinstaller es preferible el uso de pyinstaller ).

1) Obtenga py2exe desde aquí , de acuerdo con su versión de Python.

2) Cree un archivo llamado “setup.py” en la misma carpeta que el script que desea convertir, con el siguiente código:

 from distutils.core import setup import py2exe setup(console=['myscript.py']) #change 'myscript' to your script 

3) Vaya a la línea de comandos, navegue a esa carpeta y escriba:

 python setup.py py2exe 

4) Generará una carpeta “dist” en la misma carpeta que el script. Esta carpeta contiene el archivo .exe.

es posible que desee ver si su aplicación puede ejecutarse bajo IronPython. Si es así, puede comstackrlo en un exe http://www.codeplex.com/IronPython

Podrías crear un instalador para tu archivo EXE por:
1. Presione WinKey + R
2. Escriba “iexpress” (sin comillas) en la ventana de ejecución
3. Complete el asistente para crear el progtwig de instalación.
4. Distribuye el EXE completado.