310 votes

Créer une application GUI multiplateforme directement exécutable à l'aide de Python

Python fonctionne sur de multiples plates-formes et peut être utilisé pour des applications de bureau et web, j'en conclus donc qu'il existe un moyen de le compiler en un exécutable pour Mac, Windows et Linux.

Le problème est que je n'ai aucune idée de par où commencer ou comment écrire une interface graphique avec lui. Quelqu'un peut-il m'éclairer et m'indiquer la bonne direction ?

314voto

lubos hasko Points 13669

Vous aurez d'abord besoin d'une bibliothèque d'interface graphique avec des liaisons Python, puis (si vous le souhaitez) d'un programme qui convertira vos scripts Python en exécutables autonomes.

Bibliothèques d'interface graphique multiplateforme avec liaisons Python (Windows, Linux, Mac)

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

  • Tkinter - sur la base de Boîte à outils Tk GUI (bibliothèque GUI standard de facto pour python, gratuite pour les projets commerciaux)
  • WxPython - sur la base de WxWidgets (populaire, gratuit pour les projets commerciaux)
  • Qt en utilisant le Liaisons PyQt o Qt pour Python . Le premier n'est pas libre pour les projets commerciaux. Le second est moins mature, mais peut être utilisé gratuitement.

La liste complète se trouve à l'adresse suivante http://wiki.python.org/moin/GuiProgramming

Un seul exécutable (toutes les plateformes)

  • PyInstaller - le plus actif (peut également être utilisé avec PyQt )
  • fbs - si vous avez choisi Qt ci-dessus

Un seul exécutable (Windows)

  • py2exe - était le plus populaire

Un seul exécutable (Linux)

  • Geler - fonctionne de la même manière que py2exe mais vise la plateforme Linux

Un seul exécutable (Mac)

  • py2app - à nouveau, fonctionne comme py2exe mais vise Mac OS

21 votes

Parlez de pyinstaller pour Windows, au lieu de py2exe.

10 votes

Il convient de noter qu'à partir de la version 4.5, QT sera sous licence LGPL.

15 votes

... c'est pourquoi vous devriez maintenant envisager d'utiliser PySide dont es LGPL. Il est également plus pythonique que l'API Python 2 de PyQt4.

61voto

Jamie Points 1985

Un autre système (qui n'est pas encore mentionné dans la réponse acceptée) est PyInstaller, qui a fonctionné pour un de mes projets PyQt alors que py2exe ne le faisait pas. Je l'ai trouvé plus facile à utiliser.

http://www.pyinstaller.org/

Pyinstaller est basé sur le Python Installer de Gordon McMillan. Qui n'est plus disponible.

1 votes

Et plus de 3 ans après que cette réponse ait été écrite, pyinstaller ne supporte toujours pas Python 3, et n'est pas non plus listé dans la feuille de route des futures versions. Je veux dire, est-ce que le support d'AIX et de Solaris est vraiment plus utile que Python 3 ?

12 votes

Il supporte Python 2.7 et Python 3.3, 3.4 et 3.5 maintenant.

5 votes

Et 3.6 aussi maintenant.

16voto

Michael Twomey Points 1104

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 assez bien les œufs. J'ai constaté qu'il fonctionne magiquement mieux sans configuration pour une grande variété d'applications.

11voto

Tofystedeth Points 255

Il y a aussi PyGTK qui est en fait une enveloppe Python pour le Gnome Toolkit. J'ai trouvé qu'il était plus facile à comprendre que Tkinter, car je n'avais pratiquement aucune connaissance de la programmation des interfaces graphiques auparavant. Il fonctionne assez bien et possède quelques bons tutoriels. Malheureusement, il n'y a pas encore d'installateur pour Python 2.6 pour Windows, et il n'y en aura pas avant un certain temps.

6voto

Matthew Schinckel Points 15596

Puisque python est installé par défaut sur presque tous les systèmes d'exploitation non Windows, 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 construire des exécutables qui incluent l'interpréteur python et toutes les bibliothèques que vous utilisez. Cependant, cela risque de créer un gros exécutable.

MacOS X inclut même un support dans l'IDE Xcode pour créer des applications graphiques autonomes complètes. Celles-ci peuvent être exécutées par n'importe quel utilisateur sous OS X.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X