para - software de escritorio con python




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

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.

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?


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.


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.


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


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

**





release-management