script programa instalar ejecutable cx_freeze crear convertir python python-3.x exe py2exe python-3.6

programa - ¿Cómo puedo convertir un.py a.exe para Python?



pyinstaller (6)

Hay un proyecto de código abierto llamado auto-py-to-exe en Github . En realidad, también solo usa Pyinstaller internamente, pero como tiene una GUI simple que controla Pyinstaller, puede ser una alternativa cómoda. También puede generar un archivo independiente en contraste con otras soluciones. También proporcionan un video que muestra cómo configurarlo.

GUI

Salida:

Estoy tratando de convertir un programa Python bastante simple en un ejecutable y no pude encontrar lo que estaba buscando, así que tengo algunas preguntas (estoy ejecutando Python3.6):

Los métodos para hacer esto que he encontrado hasta ahora son los siguientes

  1. descargando una versión anterior de Python y usando pyinstaller/py2exe
  2. configurar un entorno virtual en 3.6 que me permitirá hacer 1.
  3. descargando un convertidor de Python a C ++ y usándolo.

Esto es lo que he intentado / con qué problemas me he encontrado.

  • Instalé pyinstaller antes de la descarga requerida antes (pypi-something), por lo que no funcionó. Después de descargar el archivo de requisitos previos, pyinstaller aún no lo reconoce.
  • Si estoy configurando un virtualenv en 2.7, ¿realmente necesito tener 2.7 instalado?
  • Del mismo modo, los únicos convertidores de Python a C ++ que veo funcionan solo hasta Python 3.5: ¿necesito descargar y usar esta versión si intento hacer esto?

He estado usando Nuitka y PyInstaller con mi paquete, PySimpleGUI.

Nuitka Hubo problemas para que tkinter compilara con Nuikta. Uno de los contribuyentes del proyecto desarrolló un script que solucionó el problema.

Si no está utilizando tkinter, puede "simplemente funcionar" para usted. Si está utilizando tkinter dígalo y trataré de publicar el script y las instrucciones.

PyInstaller Estoy ejecutando 3.6 y PyInstaller está funcionando muy bien. El comando que uso para crear mi archivo exe es:

pyinstaller -wF myfile.py

El -wF creará un único archivo EXE. Debido a que todos mis programas tienen una GUI y no quiero mostrar la ventana de comandos, la opción -w ocultará la ventana de comandos.

Esto es lo más parecido a ejecutar un programa Winforms que se escribió en Python.

[Actualización 20-jul-2019]

Existe una solución basada en GUI PySimpleGUI que utiliza PyInstaller. Utiliza PySimpleGUI. Se llama pysimplegui-exemaker y se puede instalar pip.

pip install PySimpleGUI-exemaker

Para ejecutarlo después de la instalación:

python -m pysimplegui-exemaker.pysimplegui-exemaker


No puedo decirte qué es lo mejor, pero una herramienta que he usado con éxito en el pasado fue cx_freeze. Recientemente actualizaron (el 7 de enero de ''17) a la versión 5.0.1 y es compatible con Python 3.6.

Aquí está el pypi https://pypi.python.org/pypi/cx_Freeze

Los documentos muestran que hay más de una forma de hacerlo, según sus necesidades.
http://cx-freeze.readthedocs.io/en/latest/overview.html

Todavía no lo he probado, así que voy a señalar una publicación donde se discutió la forma simple de hacerlo. Sin embargo, algunas cosas pueden o no haber cambiado.
¿Cómo uso cx_freeze?


Python 3.6 todavía no es compatible con Pyinstaller. Entonces, para usarlo, necesitarás Python 3.5 o más abajo. Sin embargo, no estoy seguro acerca de py2exe.

De todos modos, el caso 1 debería hacerse así:

Abra una ventana cmd en su carpeta Python (abra una ventana de comandos y use cd o mientras mantiene presionada la tecla Mayús, haga clic derecho en el Explorador de Windows y elija ''Abrir ventana de comandos aquí''). Entonces solo ingresa

pip install pyinstaller

Y eso es.

La forma más sencilla de usarlo es ingresando en el símbolo del sistema

pyinstaller file_name.py

Para obtener más detalles sobre cómo usarlo, eche un vistazo a esta pregunta .

Actualizar

Python 3.6 ahora es compatible con Pyinstaller


py2exe es una extensión distutils que permite construir programas ejecutables de Windows independientes (32 bits y 64 bits) a partir de scripts de Python; Python 3.3 y posterior son compatibles. Puede construir ejecutables de consola, ejecutables de Windows (GUI), servicios de Windows y servidores COM DLL / EXE.

Puedes descargarlo aquí:

https://pypi.org/project/py2exe/


Pasos para convertir .py a .exe en Python 3.6

  1. Instalar Python 3.6 .
  2. Instale cx_Freeze, (abra su símbolo del sistema y escriba pip install cx_Freeze .
  3. Instale idna, (abra su símbolo del sistema y escriba pip install idna .
  4. Escriba un programa .py llamado myfirstprog.py .
  5. Cree un nuevo archivo de Python llamado setup.py en el directorio actual de su script.
  6. En el archivo setup.py , copie el código a continuación y guárdelo.
  7. Con shift presionado, haga clic derecho en el mismo directorio, para que pueda abrir una ventana de símbolo del sistema.
  8. En el indicador, escriba python setup.py build
  9. Si su script está libre de errores, no habrá ningún problema al crear la aplicación.
  10. Verifique la build carpeta recién creada. Tiene otra carpeta en el mismo. Dentro de esa carpeta puedes encontrar tu aplicación. Ejecutarlo. Hazte feliz

Ver el guión original en mi blog .

setup.py:

from cx_Freeze import setup, Executable base = None executables = [Executable("myfirstprog.py", base=base)] packages = ["idna"] options = { ''build_exe'': { ''packages'':packages, }, } setup( name = "<any name>", options = options, version = "<any number>", description = ''<any description>'', executables = executables )

EDITAR:

  • asegúrese de que, en lugar de myfirstprog.py , coloque el nombre del archivo de extensión .py tal como se creó en el paso 4 ;
  • debe incluir cada paquete de edición de import en su .py en la lista de packages (por ejemplo: packages = ["idna", "os","sys"] )
  • any name, any number, any description en el archivo setup.py no debe permanecer igual, debe cambiarlo en consecuencia (por ejemplo: name = "<first_ever>", version = "0.11", description = '''' )
  • los paquetes de import ed deben estar instalados antes de comenzar el paso 8 .