Comment puis-je créer une application GUI multi-plateforme directement exécutable en utilisant Python?

voix
224

Python fonctionne sur plusieurs plates-formes et peut être utilisé pour les applications de bureau et web, donc je conclus qu'il ya un moyen de le compiler dans un fichier exécutable pour Mac, Windows et Linux.

Le problème étant que je ne sais pas où commencer ou comment écrire une interface graphique avec elle, quelqu'un peut-il faire la lumière sur ce sujet et me diriger dans la bonne direction s'il vous plaît?

Créé 05/08/2008 à 23:26
source utilisateur
Dans d'autres langues...                            


10 réponses

voix
232

D'abord, vous aurez besoin d'une bibliothèque de GUI avec les liaisons Python, puis (si vous voulez) un programme qui vous permet de convertir vos scripts python en exécutables autonomes.

bibliothèques GUI multi-plateformes avec des liaisons Python (Windows, Linux, Mac)

Bien sûr, il y a beaucoup, mais les plus populaires que je l'ai vu à l'état sauvage sont:

  • Tkinter - basé sur boîte à outils graphique Tk (bibliothèque graphique standard de facto pour python, gratuit pour les projets commerciaux)
  • WxPython - basé sur wxWidgets (très populaire, gratuit pour les projets commerciaux)
  • PyQt - basé sur Qt (également très populaire et plus stable que wxWidgets , mais la licence coûteuse pour des projets commerciaux)

Liste complète est à http://wiki.python.org/moin/GuiProgramming

exécutable unique (Windows)

  • py2exe - Probablement le plus populaire là - bas ( PyInstaller gagne aussi en popularité)

exécutable unique (Linux)

  • Gel - fonctionne de la même façon que py2exe mais vise la plate - forme Linux

exécutable unique (Mac)

  • py2app - encore une fois, fonctionne comme py2exe mais cible Mac OS
Créé 05/08/2008 à 23:34
source utilisateur

voix
47

Un autre système (non mentionné dans la réponse encore acceptée) est PyInstaller, qui a travaillé pour un projet PyQt de la mine quand py2exe ne serait pas. Je l'ai trouvé plus facile à utiliser.

http://www.pyinstaller.org/

Pyinstaller est basé sur Python installation de Gordon McMillan. Ce qui n'est plus disponible.

Créé 28/08/2008 à 09:41
source utilisateur

voix
14

Un outil alternatif à py2exe est bbfreeze qui génère des exécutables pour Windows et Linux. Il est plus récent que py2exe et gère des œufs très bien. Je l' ai trouvé fonctionne comme par magie mieux sans configuration pour une grande variété d'applications.

Créé 15/08/2008 à 12:56
source utilisateur

voix
11

Il y a aussi PyGTK , qui est essentiellement un wrapper Python pour la boîte à outils Gnome. Je l' ai trouvé plus facile d'envelopper mon esprit autour de Tkinter, venant de pratiquement aucune connaissance de la programmation graphique précédemment. Il fonctionne très bien et a quelques bons tutoriels. Malheureusement , il n'y a pas un programme d' installation pour Python 2.6 pour Windows encore et ne peut pas être pendant un certain temps.

Créé 05/11/2008 à 16:53
source utilisateur

voix
6

Depuis python est installé sur presque tous les OS non-Windows par défaut maintenant, la seule chose que vous devez vraiment vous assurer est que toutes les bibliothèques non standard que vous utilisez sont installés.

Cela dit, il est possible de construire executables qui incluent l'interpréteur python, et toutes les bibliothèques que vous utilisez. Cela est susceptible de créer un grand exécutable, cependant.

MacOS X inclut même support dans le Xcode IDE pour créer des applications autonomes GUI complètes. Ceux-ci peuvent être exécutées par tout utilisateur exécutant OS X.

Créé 06/08/2008 à 01:29
source utilisateur

voix
4

Pour l'interface graphique lui-même:

PyQT est à peu près la référence.

Une autre façon de développer une interface rapide utilisateur est d'écrire une application web, faites fonctionner localement et afficher l'application dans le navigateur.

De plus, si vous optez pour l'option Tkinter proposée par Lubos hasko vous pouvez essayer d'avoir portablepy fonctionner votre application sur l'environnement Windows sans Python.

Créé 19/08/2008 à 10:45
source utilisateur

voix
4

Je ne suis pas sûr que ce soit la meilleure façon de le faire, mais quand je le déploiement des applications Ruby GUI (pas Python, mais a le même « problème » dans la mesure du .exe sont concernés de) sous Windows, je viens d'écrire un court lanceur en C # qui appelle sur mon script principal. Il compile à un exécutable, et j'ai alors un exécutable de l'application.

Créé 15/08/2008 à 13:00
source utilisateur

voix
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

Ensuite, vous devez utiliser py2exe, par exemple, d'apporter dans un dossier tous les fichiers nécessaires pour exécuter l'application, même si l'utilisateur n'a pas python sur son pc (je parle des fenêtres ... pour l'OS d'Apple il n'y a pas besoin d'un fichier exécutable, je pense, comme ça vient avec python dedans sans avoir besoin de l'installer.

Créer ce fichier

1) Créer un setup.py

avec ce code:

de configuration distutils.core d'importation py2exe d'importation

Configuration (console = [ 'l4h.py'])

enregistrez-le dans un dossier

2) Mettez votre programme dans le même dossier de setup.py mis dans ce dossier le programme que vous voulez en faire distribuitable: es: l4h.py

ps: changer le nom du fichier (de L4H à tout ce que vous voulez, c'est un exemple)

3) Exécuter cmd de ce dossier (sur le dossier, faites un clic droit + Maj et choisissez démar ici) 4) écrire cmd:> python setup.py py2exe 5) dans le dossier dist il y a tous les fichiers dont vous avez besoin 6) vous peut zip et de le distribuer

Créé 31/01/2017 à 19:51
source utilisateur

voix
1

Vous n'avez pas besoin de compiler python pour Mac / Windows / Linux. Il est un langage interprété, donc vous devez simplement avoir l'interpréteur Python installé sur le système de votre choix (il est disponible pour les trois plates - formes).

Pour ce qui est une bibliothèque graphique qui fonctionne multi - plateforme, Python Tk / Tcl bibliothèque widget fonctionne très bien, et je crois suffisamment plate - forme de croix.

Tkinter est l'interface python pour Tk / Tcl

A partir de la page web du projet python:

Tkinter n'est pas la seule boîte à outils GuiProgramming pour Python. Il est cependant le plus couramment utilisé, et presque le seul qui est portable entre Unix, Mac et Windows

Créé 05/08/2008 à 23:40
source utilisateur

voix
0

Vous pouvez utiliser appJarpour le développement de l' interface graphique de base.

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

GUI lors de l'exécution

Voir la documentation sur le site appJar .

L' installation est faite avec pip install appjarde la ligne de commande.

Créé 08/06/2017 à 10:21
source utilisateur

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