Cx Freeze : compiler et distribuer son programme Python

-
2
 m de lecture
-

Cx Freeze est un programme Python permettant de transformer un script en exécutable autonome, sur Linux, MacOS ou Windows. Rendre exécutable un programme, c’est-à-dire compiler le code, est important afin de distribuer aisément son fichier.

Cx Freeze correspond au programme venant compiler le script Python avec toutes ses dépendances dans un fichier exécutable. Mais alors, comment fonctionne Cx Freeze ? Pourquoi l’utiliser ? Comment l’installer et s’en servir ? Réponses à vos questions dans cet article. 

Comment fonctionne Cx Freeze ?

Un script Python dépend de plusieurs modules. Il a besoin des bibliothèques et des fichiers du système Python. Cx Freeze permet d’analyser les dépendances du script pour créer un exécutable autonome. Le nom de Cx Freeze est utilisé car ce programme « freeze » (congèle en anglais) le script Python avec ses dépendances dans un fichier exécutable.

Le programme analyse les dépendances pour identifier les modules Python importés, les ressources et les bibliothèques externes nécessaires à l’exécution du fichier. Ensuite, il crée un environnement virtuel dans lequel il vient copier les fichiers et modules nécessaires. Enfin, Cx Freeze crée l’exécutable autonome : il n’a pas besoin d’une installation Python externe.

Pourquoi l’utiliser ?

Le programme Python cx_Freeze offre plusieurs avantages (ce n’est pas pour rien qu’il existe !). Vous avez besoin de partager un script Python ? Votre collègue ou partenaire peut trouver fastidieux d’installer Python et toutes les dépendances. Le programme cx_Freeze permet d’outrepasser cette installation grâce à un seul fichier exécutable et facilement distribuable. 

L’autre point fort réside dans la confidentialité du script Python. En effet, vous n’avez plus besoin de divulguer le code source : la création d’un exécutable vous permet de simplement partager le fichier plutôt que votre code. 

Enfin, cx_Freeze est facile d’utilisation pour les développeurs. Bien qu’il faille tester l’exécutable pour s’assurer de son bon fonctionnement, sa création est rapide et intuitive.

Comment installer et utiliser Cx Freeze ?

Vous pouvez installer la dernière version de cx_Freeze en utilisant la commande pip :

pip install --upgrade cx_Freeze

Certains systèmes d’exploitation peuvent demander d’utiliser Python3 et pip3 plutôt que d’autres versions. 

Vous pouvez aussi utiliser la commande pipenv pour installer et mettre à jour cx_Freeze :

pipenv install cx_Freeze
pipenv update cx_Freeze

Si vous utilisez Anaconda, il est préférable d’installer cx_Freeze via la commande conda :

conda install -c conda-forge cx_freeze

Une fois cx_Freeze installé, nous devons créer un fichier python pour compiler le programme : nous l’appellerons setup.py. Le code se présente comme suit (modifiez les paramètres si vous souhaitez personnaliser l’exécutable) :

import sys
from cx_Freeze import setup, Executable

# Les dépendances sont automatiquement détectées, mais il peut être nécessaire de les ajuster.
build_exe_options = {
   "excludes": ["tkinter", "unittest"],
   "zip_include_packages": ["encodings", "PySide6"],
}

# base="Win32GUI" devrait être utilisé uniquement avec l’app Windows GUI 
base = "Win32GUI" if sys.platform == "win32" else None

setup(
   name="guifoo",
   version="0.1",
   description="My GUI application!",
   options={"build_exe": build_exe_options},
   executables=[Executable("guifoo.py", base=base)],
)

Remplacez « guifoo » et « guifoo.py » par le fichier que vous souhaitez transformer.

Ensuite, lancez la commande :

python setup.py build

Cette commande va créer un sous-dossier appelé « build » avec un autre sous-dossier commençant par les lettres « exe. » et terminant par l’identification de la plateforme ou de votre version de Python. Cela permet à de multiples plateformes de se créer sans problème.

Cx_Freeze : le programme Python en bref

Le programme cx_Freeze est un atout considérable pour les développeurs : il permet de compiler le code et de le rendre exécutable de manière autonome. Le programme identifie les modules nécessaires à l’exécution du fichier et les copie dans un environnement virtuel. Cx_Freeze offre une distribution simplifiée, une portabilité sans égal et la confidentialité du code source. Pour installer et utiliser Cx_Freeze, suivez simplement le guide d’utilisation ci-dessus dans cet article.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?