Créer des fichiers exécutables à partir de Scripts Python avec py2exe

Introduction

L’exécution de scripts Python nécessite de nombreuses conditions préalables comme l’installation de Python, l’installation d’une pléthore de modules, l’utilisation de la ligne de commande, etc. l’exécution d’un fichier .exe est très simple.

Si vous souhaitez créer une application simple et la distribuer à de nombreux utilisateurs, l’écrire sous forme de script Python court n’est pas difficile, mais suppose que les utilisateurs savent comment exécuter le script et que Python est déjà installé sur leur machine.

Des exemples comme celui-ci montrent qu’il existe une raison valable de convertir des programmes .py en programmes .exe équivalents sous Windows. .exe signifie « Fichier exécutable », également appelé Binaire.

Le moyen le plus populaire d’y parvenir est d’utiliser le module py2exe. Dans cet article, nous allons rapidement passer en revue les bases de py2exe et résoudre certains problèmes courants. Pour suivre, aucune connaissance avancée de Python n’est nécessaire, mais vous devrez utiliser Windows.

La conversion d’un code de langage interprété en un fichier exécutable est une pratique communément appelée gel.

Installation de py2exe

Pour utiliser le module py2exe, nous devrons l’installer. Faisons-le avec pip:

$ pip install py2exe

Conversion du script Python en .exe

Tout d’abord, écrivons un programme qui va imprimer du texte sur la console:

import mathprint("Hannibal ante Portas")print(factorial(4))

Exécutons les commandes suivantes dans la ligne de commande Windows pour créer un répertoire (exampDir), déplacez le code que nous avons déjà écrit dans ledit répertoire, et enfin, exécutez-le:

$ mkdir exampDir$ move example.py exampDir$ cd exampDir$ py example.py

Cela devrait produire:

Hannibal ante Portas24

Testez toujours les scripts avant de les transformer en exécutables pour vous assurer que s’il y a une erreur, elle n’est pas causée par le code source.

Setup et Configuration

Créez un autre fichier appelé setup.py dans le même dossier. Ici, nous conserverons les détails de configuration sur la façon dont nous voulons compiler notre programme. Nous allons juste y mettre quelques lignes de code pour l’instant:

from distutils.core import setup # Need this to handle modulesimport py2exe import math # We have to import all modules used in our programsetup(console=) # Calls setup function to indicate that we're dealing with a single console application

Si nous avions affaire à une application avec une interface utilisateur graphique, nous remplacerions console par windows comme ceci:

setup(windows=)

Ouvrez maintenant l’invite de commande en tant qu’administrateur et accédez au répertoire que nous venons de mentionner et exécutez le fichier setup.py:

$ cd exampDir$ python setup.py py2exerunning py2exe*** searching for required modules ****** parsing results ***...

dossier dist

Si tout est fait correctement, cela devrait produire un sous-répertoire appelé dist. À l’intérieur, il y aura quelques fichiers différents en fonction de votre programme, et l’un d’eux devrait être example.exe. Pour l’exécuter à partir de la console, exécutez:

$ example

Et vous serez accueillis par notre citation latine, suivie de la valeur de 4!:

Hannibal ante Portas24

Ou, vous pouvez double-cliquer dessus et il s’exécutera dans la console.

Si vous souhaitez regrouper tous les fichiers, ajoutez bundle_files et compressed, et définissez zipfile sur Aucun comme ceci:

from distutils.core import setupimport py2exesetup( options = {'py2exe': {'bundle_files': 1, 'compressed': True}}, console = , zipfile = None,)

Et réexécutez les commandes pour générer le.EXE.

Maintenant, vos utilisateurs finaux peuvent exécuter vos scripts sans aucune connaissance ni prérequis installés sur leurs machines locales.

Dépannage des erreurs

lors de la conversion des fichiers .py en fichiers .exe sont courantes, nous allons donc énumérer quelques bugs et solutions courants.

Comment réparer les DLL-s manquantes Après avoir utilisé py2exe

Un problème courant avec py2exe est l’absence de .dll-s.

DLL signifie « bibliothèque de liens dynamiques », et ils ne sont pas là juste pour faire des bugs, promis. Les DLL contiennent du code, des données et des ressources dont notre programme pourrait avoir besoin pendant l’exécution.

Après avoir exécuté le .exe, si vous obtenez une erreur système qui dit quelque chose comme:

The program can't start because something.dll is missing from your computer. Try reinstalling the program to fix this problem. 

Ou la ligne de commande dit:

ImportError: (DLL load failed: The specified module could not be found.)

La solution consiste à trouver le .dll manquant et à le passer dans votre dossier dist. Il y a deux façons de le faire.

  1. Recherchez le fichier sur votre ordinateur, puis copiez-le. Cela fonctionnera la plupart du temps.
  2. Trouvez le .dll manquant en ligne et téléchargez-le. Essayez de ne pas le télécharger à partir d’un site Web louche.

Comment générer des exécutables 32/64 bits à l’aide de py2exe?

Pour créer un exécutable 64 bits, installez Python 64 bits sur votre appareil. Il en va de même pour la version 32 bits.

Comment utiliser py2exe sur Linux ou Mac

py2exe ne prend pas en charge Linux ou Mac, car il vise à créer.fichiers exe qui est un format unique pour Windows. Vous pouvez télécharger une machine virtuelle Windows sur Mac et Linux, utiliser Wine ou utiliser un outil différent comme Pyinstaller sur Linux ou py2app sur Mac.

Conclusion

Pour faciliter l’exécution des projets Python sur les appareils Windows, nous devons générer un fichier exécutable. Nous pouvons utiliser de nombreux outils différents, comme Pyinstaller, auto-py-to-exe, cx_Freeze et py2exe.Les fichiers binaires

peuvent utiliser des DLL-s, alors assurez-vous de les inclure dans votre projet.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

More: