software para paquetes librerias instalar framework escritorio descargar crear con aplicaciones python user-interface deployment tkinter release-management

para - ¿Cómo puedo crear una aplicación de GUI multiplataforma ejecutable directamente usando Python?



instalar pip python windows (11)

Python funciona en múltiples plataformas y se puede usar para aplicaciones de escritorio y web, por lo que llego a la conclusión de que hay alguna forma de compilarlo en un ejecutable para Mac, Windows y Linux.

El problema es que no tengo idea de por dónde empezar o cómo escribir una GUI con él. ¿Alguien puede arrojar algo de luz sobre esto y señalarme la dirección correcta, por favor?


Como Python está instalado en casi todos los sistemas operativos que no son Windows de forma predeterminada ahora, lo único que realmente necesita asegurarse es que todas las bibliotecas no estándar que utiliza están instaladas.

Dicho esto, es posible crear ejecutables que incluyan el intérprete de Python y cualquier biblioteca que use. Sin embargo, es probable que esto cree un ejecutable grande.

MacOS X incluso incluye soporte en Xcode IDE para crear aplicaciones GUI completamente independientes. Estos pueden ser ejecutados por cualquier usuario que ejecute OS X.


No es necesario compilar python para Mac / Windows / Linux. Es un lenguaje interpretado, por lo que simplemente necesita tener el intérprete de Python instalado en el sistema de su elección (está disponible para las tres plataformas).

En cuanto a una biblioteca GUI que funciona en múltiples plataformas, la biblioteca de widgets Tk / Tcl de Python funciona muy bien, y creo que es una plataforma multiplataforma.

Tkinter es la interfaz de Python para Tk / Tcl

Desde la página web del proyecto python:

Tkinter no es el único kit de herramientas GuiProgramming para Python. Sin embargo, es el más usado, y casi el único portátil entre Unix, Mac y Windows.


No estoy seguro de que esta sea la mejor manera de hacerlo, pero cuando estoy implementando aplicaciones GUI de Ruby (no Python, pero tiene el mismo "problema" en lo que respecta a .exe) en Windows, solo escribo un Lanzador corto en C # que llama a mi script principal. Se compila en un ejecutable, y luego tengo una aplicación ejecutable.


Otro sistema (aún no mencionado en la respuesta aceptada) es PyInstaller, que funcionó para un proyecto PyQt mío cuando py2exe no lo haría. Me pareció más fácil de usar.

http://www.pyinstaller.org/

Pyinstaller se basa en el instalador de Python de Gordon McMillan. Que ya no está disponible.


Para la propia GUI:

PyQT es más o menos la referencia.

Otra forma de desarrollar una interfaz de usuario rápida es escribir una aplicación web, ejecutarla localmente y mostrarla en el navegador.

Además, si opta por la opción Tkinter sugerida por lubos hasko, es posible que desee probar portablepy para que su aplicación se ejecute en el entorno de Windows sin Python.


Primero necesitará una biblioteca GUI con enlaces Python y luego (si lo desea) algún programa que convertirá sus scripts de Python en ejecutables independientes.

Bibliotecas GUI multiplataforma con enlaces Python (Windows, Linux, Mac)

Por supuesto, hay muchos, pero los más populares que he visto en la naturaleza son:

La lista completa está en http://wiki.python.org/moin/GuiProgramming

Ejecutable único (todas las plataformas)

Ejecutable individual (Windows)

Ejecutable único (Linux)

  • Freeze : funciona de la misma manera que py2exe pero se dirige a la plataforma Linux

Ejecutable único (Mac)

  • py2app : de nuevo, funciona como py2exe pero está orientado a Mac OS

Puedes usar appJar para el desarrollo básico de GUI.

from appJar import gui num=1 def myfcn(btnName): global num num +=1 win.setLabel("mylabel", num) win = gui(''Test'') win.addButtons(["Set"], [myfcn]) win.addLabel("mylabel", "Press the Button") win.go()

Ver documentación en el sitio de la aplicación .

La instalación se realiza con pip install appjar desde la línea de comandos.


PySimpleGUI ajusta tkinter y funciona en Python 3 y 2.7. También se ejecuta en Qt, WxPython y en un navegador web, utilizando el mismo código fuente para todas las plataformas.

Puede crear GUI personalizadas que utilicen todos los mismos widgets que encuentra en tkinter (controles deslizantes, casillas de verificación, botones de radio, ...). El código tiende a ser muy compacto y legible.

#!/usr/bin/env python import sys if sys.version_info[0] >= 3: import PySimpleGUI as sg else: import PySimpleGUI27 as sg layout = [[ sg.Text(''My Window'') ], [ sg.Button(''OK'')]] window = sg.Window(''My window'').Layout(layout) button, value = window.Read()

Como se explica en la documentación de PySimpleGUI , para compilar el archivo .EXE que ejecuta:

pyinstaller -wF MyGUIProgram.py


También está PyGTK , que es básicamente un envoltorio de Python para el Kit de herramientas Gnome. Me ha resultado más fácil envolver mi mente que Tkinter, ya que no conocía la programación de GUI anteriormente. Funciona bastante bien y tiene algunos buenos tutoriales. Desafortunadamente, todavía no hay un instalador para Python 2.6 para Windows, y puede que no sea por un tiempo.


Una herramienta alternativa a py2exe es bbfreeze que genera ejecutables para Windows y Linux. Es más nuevo que py2exe y maneja los huevos bastante bien. Descubrí que mágicamente funciona mejor sin configuración para una amplia variedad de aplicaciones.


# I''d use tkinter for python 3 import tkinter tk = tkinter.Tk() tk.geometry("400x300+500+300") l = Label(tk,text="") l.pack() e = Entry(tk) e.pack() def click(): e[''text''] = ''You clicked the button'' b = Button(tk,text="Click me",command=click) b.pack() tk.mainloop() # After this I would you py2exe # search for the use of this module on stakoverflow # otherwise I could edit this to let you know how to do it

py2exe

Entonces deberías usar py2exe, por ejemplo, para traer en una carpeta todos los archivos necesarios para ejecutar la aplicación, incluso si el usuario no tiene python en su computadora (estoy hablando de ventanas ... para Apple OS no hay necesidad de un archivo ejecutable, creo, ya que viene con python en él sin necesidad de instalarlo.

Crear este archivo

1) Crear un setup.py

con este código:

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

guárdalo en una carpeta

2) Coloque su programa en la misma carpeta de setup.py ponga en esta carpeta el programa que desea distribuir: es: l4h.py

ps: cambia el nombre del archivo (de l4h a lo que quieras, es un ejemplo)

3) Ejecute cmd desde esa carpeta (en la carpeta, haga clic con el botón derecho + shift y elija iniciar cmd aquí)
4) escriba en cmd:> python setup.py py2exe
5) en la carpeta dist hay todos los archivos que necesitas
6) Puedes zipearlo y distribuirlo.

Pyinstaller

Instálalo desde cmd

**

pip instalar pyinstaller

**

Ejecútelo desde el cmd desde la carpeta donde está el archivo.

**

pyinstaller file.py

**