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
-
descargando una versión anterior de Python y usando
pyinstaller/py2exe
- configurar un entorno virtual en 3.6 que me permitirá hacer 1.
- 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í:
Pasos para convertir .py a .exe en Python 3.6
- Instalar Python 3.6 .
-
Instale cx_Freeze, (abra su símbolo del sistema y escriba
pip install cx_Freeze
. -
Instale idna, (abra su símbolo del sistema y escriba
pip install idna
. -
Escriba un programa
.py
llamadomyfirstprog.py
. -
Cree un nuevo archivo de Python llamado
setup.py
en el directorio actual de su script. -
En el archivo
setup.py
, copie el código a continuación y guárdelo. - Con shift presionado, haga clic derecho en el mismo directorio, para que pueda abrir una ventana de símbolo del sistema.
-
En el indicador, escriba
python setup.py build
- Si su script está libre de errores, no habrá ningún problema al crear la aplicación.
-
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 depackages
(por ejemplo:packages = ["idna", "os","sys"]
) -
any name, any number, any description
en el archivosetup.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 .