para - python 3 to exe
Deshacerse de la salida de la consola al congelar programas de Python usando Pyinstaller (3)
Recientemente he escrito un programa bastante simple para mi abuelo que usa Python con GUI de Tkinter, y funciona a la perfección para lo que lo usará. Sin embargo, existe, por supuesto, la ventana de salida de la consola fea. Me deshice de él con éxito simplemente cambiando la extensión del archivo de .py a .pyw. Cuando lo congele usando PyInstaller, ¡reaparece nuevamente! ¿Hay alguna manera de arreglar esto?
Gracias por adelantado.
Esta es una de las primeras cosas que surgen en la búsqueda de esta información, así que me gustaría agregar lo que encontré para la versión 3.2 de pyinstaller. Si ya has empaquetado tu script ejecutando
pyinstaller --onefile your_script.py
o similar, puede editar el archivo your_script.spec para deshacerse de la consola.
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name=''main'',
debug=False,
strip=False,
upx=True,
console=True )
Simplemente cambia el valor de la consola a Falso. Entonces corre:
pyinstaller your_script.spec
Además, si realiza cambios en su código, ejecute el comando anterior para que queden reflejados en su_script.exe. He encontrado esto útil para la depuración de varios otros problemas.
Solo agrega la bandera --noconsole
:
$ python pyinstaller.py --noconsole yourprogram.py
Es posible que también desee utilizar --onefile
, que crea un único archivo .exe
lugar de una carpeta.
Si desea ocultar la ventana de la consola, here está la documentación: Así es como usa la opción --noconsole
python pyinstaller.py --noconsole yourscript.py
Si necesita ayuda para usar el programa de instalación de pyinstaller para llegar al punto en el que necesita usar la opción --noconsole
, here encontrará un sencillo tutorial para llegar allí.