Tout d'abord, vous aurez besoin d'une bibliothèque GUI avec des liaisons Python, puis (si vous le souhaitez) d'un programme qui convertira vos scripts python en exécutables autonomes.
Bibliothèques GUI multiplateformes avec liaisons Python (Windows, Linux, Mac)
Bien sûr, il y en a beaucoup, mais les plus populaires que j'ai vues dans la nature sont:
- Tkinter - basé sur Tk GUI toolkit (bibliothèque GUI standard de facto pour python, gratuite pour les projets commerciaux)
- WxPython - basé sur WxWidgets (populaire, gratuit pour les projets commerciaux)
- Qt en utilisant les liaisons PyQt ou Qt pour Python . Le premier n'est pas gratuit pour les projets commerciaux. Ce dernier est moins mature, mais peut être utilisé gratuitement.
La liste complète se trouve à http://wiki.python.org/moin/GuiProgramming
Exécutable unique (toutes les plateformes)
- PyInstaller - le plus actif (pourrait également être utilisé avec
PyQt
)
- fbs - si vous avez choisi Qt ci-dessus
Exécutable unique (Windows)
- py2exe - était le plus populaire
Exécutable unique (Linux)
- Geler - fonctionne de la même manière que py2exe mais cible la plate-forme Linux
Exécutable unique (Mac)
- py2app - encore une fois, fonctionne comme py2exe mais cible Mac OS
Un autre système (non encore mentionné dans la réponse acceptée) est PyInstaller, qui a fonctionné pour un de mes projets PyQt alors que py2exe ne le ferait pas. Je l'ai trouvé plus facile à utiliser.
http://www.pyinstaller.org/
Pyinstaller est basé sur l'installateur Python de Gordon McMillan. Qui n'est plus disponible.
la source
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 très bien les œufs. J'ai trouvé que cela fonctionne magiquement mieux sans configuration pour une grande variété d'applications.
la source
Il y a aussi PyGTK , qui est essentiellement un wrapper Python pour Gnome Toolkit. J'ai trouvé plus facile de me faire une idée que Tkinter, car je ne connaissais pas la programmation GUI auparavant. Cela fonctionne assez bien et propose de bons tutoriels. Malheureusement, il n'y a pas encore de programme d'installation pour Python 2.6 pour Windows, et peut-être pas avant un certain temps.
la source
Étant donné que python est installé sur presque tous les systèmes d'exploitation non Windows par défaut maintenant, la seule chose dont vous devez vraiment vous assurer est que toutes les bibliothèques non standard que vous utilisez sont installées.
Cela dit, il est possible de créer des exécutables qui incluent l'interpréteur python et toutes les bibliothèques que vous utilisez. Cependant, cela est susceptible de créer un grand exécutable.
MacOS X inclut même la prise en charge dans l'IDE Xcode pour la création d'applications GUI autonomes complètes. Ceux-ci peuvent être exécutés par n'importe quel utilisateur exécutant OS X.
la source
Pour l'interface graphique elle-même:
PyQT est à peu près la référence.
Une autre façon de développer une interface utilisateur rapide consiste à écrire une application Web, à la faire exécuter localement et à afficher l'application dans le navigateur.
De plus, si vous optez pour l'option Tkinter suggérée par lubos hasko, vous voudrez peut-être essayer portablepy pour que votre application s'exécute sur l'environnement Windows sans Python.
la source
Je ne suis pas sûr que ce soit la meilleure façon de le faire, mais quand je déploie des applications GUI Ruby (pas Python, mais a le même "problème" en ce qui concerne les fichiers .exe) sous Windows, j'écris juste un lanceur court en C # qui fait appel à mon script principal. Il se compile en un exécutable, et j'ai ensuite un exécutable d'application.
la source
py2exe
Ensuite, vous devriez utiliser py2exe, par exemple, pour rassembler 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 de windows ... pour le apple os il n'y a pas besoin d'un fichier exécutable, je pense, car il est livré avec python sans avoir besoin de l'installer.
Créez ce fichier
1) Créez un setup.py
avec ce code:
enregistrez-le dans un dossier
2) Mettez votre programme dans le même dossier que setup.py mettez dans ce dossier le programme que vous souhaitez rendre distribuable: es: l4h.py
ps: changez le nom du fichier (de l4h à tout ce que vous voulez, c'est un exemple)
3) Exécutez cmd à partir de ce dossier (sur le dossier, faites un clic droit + Maj et choisissez démarrer cmd ici)
4) écrivez dans cmd:> python setup.py py2exe
5) dans le dossier dist il y a tous les fichiers dont vous avez besoin
6) vous peut le compresser et le distribuer
Pyinstaller
Installez-le depuis cmd
**
**
Exécutez-le à partir du cmd depuis le dossier où se trouve le fichier
**
**
la source
PySimpleGUI encapsule tkinter et fonctionne sur Python 3 et 2.7. Il fonctionne également sur Qt, WxPython et dans un navigateur Web, en utilisant le même code source pour toutes les plateformes.
Vous pouvez créer des interfaces graphiques personnalisées qui utilisent tous les mêmes widgets que vous trouvez dans tkinter (curseurs, cases à cocher, boutons radio, ...). Le code a tendance à être très compact et lisible.
Comme expliqué dans la documentation PySimpleGUI , pour créer le fichier .EXE que vous exécutez:
la source
Vous n'avez pas besoin de compiler python pour Mac / Windows / Linux. Il s'agit d'un langage interprété, vous devez donc simplement installer l'interpréteur Python sur le système de votre choix (il est disponible pour les trois plates-formes).
En ce qui concerne une bibliothèque GUI qui fonctionne multiplateforme, la bibliothèque de widgets Tk / Tcl de Python fonctionne très bien, et je pense qu'elle est suffisamment multiplateforme.
Tkinter est l'interface python de Tk / Tcl
Depuis la page Web du projet python:
la source
Vous pouvez utiliser
appJar
pour le développement de base de l'interface graphique.Voir la documentation sur le site appJar .
L'installation se fait à
pip install appjar
partir de la ligne de commande.la source
J'ai été étonné de voir que personne n'a mentionné Kivy !!!
J'ai déjà fait un projet en utilisant Tkinter, bien qu'ils préconisent qu'il s'est beaucoup amélioré, cela me donne toujours une idée de Windows 98, alors je suis passé à Kivy .
J'ai suivi une série de tutoriels si cela peut aider ...
Juste pour donner une idée de l'apparence de Kivy, voyez ceci (Le projet sur lequel je travaille):
Et j'y travaille depuis à peine une semaine! Les avantages pour Kivy que vous demandez? Vérifiez ceci
La raison pour laquelle j'ai choisi cela, c'est son look et qu'il peut également être utilisé sur mobile.
la source