py2exe¶
le module py2exe permet de créer, sous Windows, des executables au format .exe. Très utile pour permettre à l’utilisateur d’executer votre programme même s’il ne posède pas d’interpreteur Python installé sur sa machine.
Utilisation de Py2exe¶
Cet article à été initialement posté sur mon blog consacré à Python, (Essentiellement ses modules externes) consultable à l’adresse http:\www.jbjweb.com/python La première chose à faire est bien entendu de télécharger le module sur le site http:\www.py2exe.org et de l’installer sur votre ordinateur. Prenez soin de prendre la version correspondante à votre version de Python. Nous allons construire un executable ensemble pour vérifier que tout fonctionne:
Fichier “test.py”:
print "Voici un fichier executable py2exe"
raw_input()
Enregistrez le fichier dans le répertoire ou est installé Python (par exemple “C:Python24”) Nous avons maintenant besoin de créer un fichier appellé setup.py, qui permettra la compilation: Fichier “setup.py”:
from distutils.core import setup
import py2exe
setup(console=["test.py"])
Enregistrez ce script dans le répertoire ou est installé Python (par “C:Python24”) Notez que dans le cas ou vous souhaiteriez compiler un programme muni d’une interface graphique (Tkinter, Gtk, etc) il vous faudra remplacer la ligne
setup(console=["test.py"])
par:
setup(windows=["test.py"])
Une fois que ce fichier est enregistré, ouvrez l’invite de commandes (Démarrer, Executer, cmd) et déplacez vous à l’aide de la commande “cd” jusqu’au dossier ou vous fichiers sont enregistrés.(Dans notre exemple, “C:Python24”) Une fois dans le dossier, saisissez:
python.exe setup.py py2exe
Un nombre assez conséquent d’informations relative à la compilation seront affichés sur la console. Patientez. A l’issu de la compilation, si tout s’est bien passé, deux répertoires auront été crées dans le dossier “c:Python24”: dist et build. Le dossier “build” ne sers que lors de la construction de l’executable, vous pouvez le supprimmer. Le dossier “dist”, quand à lui, contient votre executable ainsi que les fichiers requis pour son fonctionnement.
Quelques exemples:¶
Joindre une icone pour votre programme¶
from distutils.core import setup
import py2exe
setup(name="nomDuProgramme",
version="1.0",
description="Description du programme",
author="Vous",
windows = [
{
"script": "programme.py",
"icon_resources": [(1, "votreIcone.ico")]
}
],)
Compiler un programme utilisant le module PIL¶
Lorsque j’ai voulu compiler un programme utilisant le module PIL, je me suis heurté à de nombreuses erreurs. En fouillant un peu, j’ai pu trouver une solution:
from distutils.core import setup
import py2exe
import Image
import JpegImagePlugin
Image._initialized=2
setup(name="nomDuProgramme",
version="1.0",
description="Description du programme",
author="Vous",
windows = [
{
"script": "programme.py",
"icon_resources": [(1, "icone.ico")]
}
],)
Compiler un programme comportant un exe console + icone¶
from distutils.core import setup
import py2exe
import fao
setup(name="pysync",
version="0.2",
description="synchronisation between src and dst",
author="Frederic Aoustin",
console = [
{
"script": "pysync.py",
"icon_resources": [(1, "img/ico.ico")]
}
],)
Compiler un gui et un exe console¶
from distutils.core import setup
import py2exe
import fao
import fao.colorconsole
import fao.ftk
setup(name="pysync",
version="0.4",
description="synchronisation between src and dst",
author="Frederic Aoustin",
console = [
{
"script": "pysync.py",
"icon_resources": [(1, "img/ico.ico")]
}],
windows = [
{
"script": "gui.py",
"icon_resources": [(1, "img/ico.ico")]
}
],)
Note
Il faut noter qu’il faut pour créer un installateur avec ces fichiers compilés utiliser un outil externe comme innosetup (par exemple)
Attention
py2exe n’est pas compatible python 3 !!!