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

votos
224

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

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

Publicado el 05/08/2008 a las 23:26
fuente por usuario
En otros idiomas...                            


11 respuestas

votos
232

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

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

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

  • Tkinter - basado en el kit de herramientas TK GUI (biblioteca de GUI estándar de facto para python, gratis para proyectos comerciales)
  • WxPython - basado en WxWidgets (muy popular, gratis para proyectos comerciales)
  • PyQt : basado en Qt (también muy popular y más estable que WxWidgets pero con una licencia costosa para proyectos comerciales)

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

Solo ejecutable (Windows)

  • py2exe - Probablemente el más popular ( PyInstaller también está ganando popularidad)

Ejecutable único (Linux)

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

Solo ejecutable (Mac)

  • py2app : de nuevo, funciona como py2exe pero se dirige a Mac OS
Respondida el 05/08/2008 a las 23:34
fuente por usuario

votos
47

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

http://www.pyinstaller.org/

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

Respondida el 28/08/2008 a las 09:41
fuente por usuario

votos
14

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. He encontrado que mágicamente funciona mejor sin configuración para una amplia variedad de aplicaciones.

Respondida el 15/08/2008 a las 12:56
fuente por usuario

votos
11

También está PyGTK , que básicamente es un contenedor de Python para Gnome Toolkit. Me resultó más fácil entender que Tkinter, ya que casi no tenía conocimiento de la programación de GUI anteriormente. Funciona bastante bien y tiene algunos buenos tutoriales. Lamentablemente todavía no existe un instalador para Python 2.6 para Windows, y puede que no lo sea por un tiempo.

Respondida el 05/11/2008 a las 16:53
fuente por usuario

votos
6

Debido a que python está instalado en casi todos los sistemas operativos que no son de Windows por defecto ahora, de lo único que realmente debe asegurarse es de que todas las bibliotecas no estándar que usa estén instaladas.

Habiendo dicho eso, es posible construir ejecutables que incluyan el intérprete de Python y cualquier biblioteca que use. Sin embargo, es probable que cree un ejecutable grande.

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

Respondida el 06/08/2008 a las 01:29
fuente por usuario

votos
4

Para la GUI misma:

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 mostrar la aplicación en el navegador.

Además, si opta por la opción Tkinter sugerida por lubos hasko, puede intentar con Portablepy hacer que su aplicación se ejecute en un entorno Windows sin Python.

Respondida el 19/08/2008 a las 10:45
fuente por usuario

votos
4

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

Respondida el 15/08/2008 a las 13:00
fuente por usuario

votos
2
# 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 debe usar py2exe, por ejemplo, para llevar en una carpeta todos los archivos necesarios para ejecutar la aplicación, incluso si el usuario no ha pitón en su PC (estoy hablando de las ventanas ... para el sistema operativo de Apple no es necesario de un archivo ejecutable, creo, ya que vienen con el pitón en ella sin necesidad de instalarlo.

Crear este archivo

1) Crear un setup.py

con este código:

distutils.core de configuración de importación py2exe importación

configuración (consola = [ 'l4h.py'])

guardarlo en una carpeta

2) Poner el programa en la misma carpeta de setup.py poner en esta carpeta el programa que desea hacerlo distribuitable: ES: l4h.py

PD: cambie el nombre del archivo (de L4h a cualquier cosa que desee, esto es un ejemplo)

3) Ejecutar cmd de esa carpeta (en la carpeta, haga clic derecho y elegir + shift comenzar cmd aquí) 4) Escribir en cmd:> python setup.py py2exe 5) en la carpeta dist están todos los archivos que necesita 6) se puede comprimir y distribuirlo

Respondida el 31/01/2017 a las 16:51
fuente por usuario

votos
1

PySimpleGUI envuelve tkinter y funciona en Python 3 y 2,7. Puede hacer interfaces gráficas de usuario personalizadas que utilizan todos los mismos reproductores que se encuentran en Tkinter (deslizadores, casillas de verificación, botones de radio, ...). El código tiende a ser muy compacto y fácil de leer.

#!/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()

La imagen creada a partir del código PySimpleGUI publicado

Como se explica en la documentación PySimpleGUI , para construir el archivo .EXE ejecutar:

PyInstaller -WF MyGUIProgram.py

Respondida el 09/10/2018 a las 12:30
fuente por usuario

votos
1

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 de GUI que funciona en varias plataformas, la biblioteca de widgets Tk / Tcl de Python funciona muy bien, y creo que es suficientemente multiplataforma.

Tkinter es la interfaz de Python para Tk / Tcl

Desde la página web del proyecto python:

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

Respondida el 05/08/2008 a las 23:40
fuente por usuario

votos
0

Se puede utilizar appJarpara el desarrollo de GUI básico.

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()

Interfaz gráfica de usuario cuando se ejecuta

Consulte la documentación en appJar sitio .

La instalación se hizo con pip install appjarla línea de comandos.

Respondida el 08/06/2017 a las 07:21
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more