- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Dans cette partie, on va voir comment utiliser directement PyInstaller pour créer un exécutableà partir d'un script Python. Donc PyInstaller, il faut déjà l'installer. Donc je vais utiliser
00:00:10 :Python 3.9 et PyP pour installer PyInstaller dans mon terminal. Je valide avec entrée. Là,vous voyez qu'il a bien installé la dernière version, donc la version 4.3 de PyInstaller.
00:00:19 :Une fois que vous l'avez installé, vous pouvez relancer un terminal et ça va vous permettred'avoir accès directement à PyInstaller. Donc je fais Terminal, New Terminal. On pourrait bien
00:00:28 :entendu utiliser un terminal à l'extérieur de Visual Studio Code. Et donc ici, je vais pouvoirensuite utiliser PyInstaller pour créer un exécutable. Donc si j'utilise PyInstaller sans
00:00:38 :rien renseigner, on va avoir tout simplement une description de toutes les options que l'on peututiliser avec cet exécutable. Ce qu'on va devoir passer à PyInstaller, c'est tout simplement le
00:00:47 :fichier Python que l'on souhaite convertir en exécutable. Donc si je fais app.py, qui correspondà mon fichier ici app.py, ça va créer automatiquement un exécutable avec toutes les options par défaut.
00:00:57 :Je vais valider en appuyant sur Entrée et on va attendre que ça se termine. Par défaut,il va créer un dossier dist et un dossier build et c'est à l'intérieur du dossier dist que vousallez retrouver votre application. Dans ce cas-ci, on va voir que l'application ne fonctionnera pas
00:01:10 :puisque j'ai un dossier data qui n'a pas été inclus. Donc si je vais voir à l'intérieur de dist,j'ai bien mon application ici. Je vais naviguer dans mon terminal pour vous montrer ce que ça
00:01:19 :donne. Je vais aller à l'intérieur de dist et à l'intérieur de dist, j'ai un dossier pour monapplication. Si je fais un ls, on va retrouver dans ce dossier mon application. Donc si je reviens
00:01:28 :un petit peu plus haut, là vous voyez qu'il y a pas mal de choses qui sont nécessaires pour fairefonctionner une application avec une interface graphique et on retrouve ici notre application.
00:01:35 :Donc si j'essaie de lancer l'application, là comme je vous dis, on va avoir une erreur puisquele fichier movies.json qui est à l'intérieur du dossier data n'a pas été inclus. Donc là ce que
00:01:44 :je pourrais faire, c'est faire un clic droit pour copier ce dossier et le coller à l'intérieur demon dossier d'application. Donc je fais clic droit paste, ça va coller ce dossier avec le fichier
00:01:53 :json et là je peux relancer mon application et cette fois-ci ça va fonctionner puisque j'ai bientout ce qu'il faut pour que mon programme fonctionne correctement. Sauf qu'on n'a pas
00:02:01 :envie de faire un copier-coller comme ça à chaque fois, donc là on va pouvoir spécifier des optionspour avoir ce dossier qui est collé automatiquement à l'intérieur de ce dossier. On va pouvoir également
00:02:10 :changer le nom de notre application puisque pour l'instant ça s'appelle app et ce n'est donc pastrès explicite. Donc ce que je vais faire moi cette fois-ci ce n'est pas repasser par mon fichier
00:02:18 :py mais je vais passer directement par le fichier qui a été créé qui est un fichier app.spec quiva contenir toutes les options de la création de mon exécutable. Donc si je double clique sur ce
00:02:30 :fichier pour l'ouvrir, vous allez voir qu'on a plein d'options ici qu'on peut changer et qui vontnous permettre de recréer un exécutable avec toutes ces options de défini. Donc ça ça permet
00:02:39 :d'éviter en fait d'avoir à spécifier ces options directement ici avec les options de PyInstaller.Donc par exemple si je veux changer le nom je peux mettre "-m", et par exemple ici spécifierqu'elle va s'appeler ciné club, mais je peux également donc faire ces modifications dans lefichier spec et ensuite utiliser ce fichier spec pour créer mon exécutable. Donc plutôt que de
00:02:58 :cibler le fichier app.py, je vais cibler le fichier app.spec et il va utiliser toutes les spécificationsqu'on a mises ici pour créer notre exécutable. Donc par exemple pour le nom ici on a une clé
00:03:08 :name et elle est égale par défaut à app. Donc nous on va la changer et on va dire que ça s'appelleciné club. On va pouvoir également changer les dossiers qui sont inclus avec notre application.
00:03:18 :Donc pour ça on va modifier cette ressource data qui pour l'instant est une liste vide. Donc cequ'on va mettre c'est un tuple et on peut mettre plusieurs tuples comme ceci à la suite. Dans
00:03:27 :notre cas on a un seul dossier qu'on souhaite inclure qui est le dossier data ici. Donc je vaisfaire un clic droit et je vais faire copy path pour copier le chemin complet vers ce dossier.
00:03:35 :Je le mets entre chaînes de caractère donc entre guillemets et le deuxième élément du tuple c'estlà où on souhaite coller le dossier. Donc le dossier on va le mettre dans notre dossier de
00:03:46 :destination donc le dossier dist. Ce dossier de destination vous pouvez le cibler avec lepoint. Donc si on met juste point en fait ça va copier tout ce qui est à l'intérieur de data et
00:03:54 :ça va le mettre directement dans le dossier de destination. Nous ce qu'on souhaite c'est lemettre dans un sous dossier qui s'appelle également data. Donc ce que je vais faire ici c'est dire
00:04:01 :qu'on veut le mettre dans un sous dossier qui s'appelle data tout simplement comme le dossierd'origine. Donc là ça nous permet d'avoir ces ressources qui vont être copiées automatiquement
00:04:09 :quand on va créer notre exécutable. Si vous aviez d'autres fichiers ou d'autres dossiers à copier onpourrait les mettre à la suite dans un autre tuple avec à chaque fois la relation entre le dossier oule fichier que l'on souhaite créer et la destination où on souhaite l'insérer. Donc dans ce cas ci avec
00:04:23 :le point qui correspond au dossier cible où va être créé mon application. On retrouve égalementici le nom du fichier que l'on souhaite utiliser pour créer l'application et le dossier dans lequelil se trouve. Donc une fois que j'ai modifié ces informations à l'intérieur du dossier de spec je
00:04:37 :peux le sauvegarder et vous allez voir que si je relance l'installation avec pyinstaller et enciblant ce fichier spec on va utiliser toutes ces options cette fois ci pour recréer notreexécutable. On peut également spécifier une option qui n'est pas possible de spécifier directement
00:04:51 :dans le fichier spec qui est l'option no confirm. Donc pourquoi on a besoin de spécifier cetteoption ? En fait si vous ne la mettez pas il va vous dire qu'un dossier existe déjà et il va vous
00:05:00 :demander si vous souhaitez le supprimer pour recréer l'application. Donc si vous souhaitezavoir un processus entièrement transparent qui ne nécessite pas une intervention de l'utilisateurvous pouvez spécifier cette option no confirm et comme ça il va automatiquement supprimer etrecréer le dossier de destination et votre application. Et ça donc c'est une option que
00:05:17 :vous ne pouvez pas mettre à l'intérieur du fichier de spec donc il faut vraiment la mettre directementdans la ligne de Pinstaller. Donc je valide en appuyant sur entrée là normalement on n'a donc
00:05:26 :plus rien à faire on va attendre qu'il supprime et qu'il recrée mon application et une fois quece sera terminé on va pouvoir aller regarder si le dossier a bien été copié et si on a bien le nomqui a été changé. Donc là on retrouve bien notre dist on a bien notre dossier data qui contient le
00:05:41 :fichier movies donc ça fonctionne et notre application s'appelle maintenant ciné clubet non plus app comme on avait auparavant. Donc je vais pouvoir naviguer à l'intérieur de dist app
00:05:49 :et si je fais cette fois ci . slash ciné club donc qui est le nom de mon application ça devraitmarcher puisque cette fois ci on a bien copié le dossier de data et on se retrouve bien iciavec mon application qui fonctionne. Je vais essayer d'ajouter un film je valide en ajoutant
00:06:03 :le film ici et si je veux voir à l'intérieur du fichier json j'ai bien le film qui a été ajouté.Donc ça fonctionne parfaitement et vous voyez que cette fois ci quand on veut faire desmodifications donc quand on souhaite recréer un exécutable et bien on peut le faire directement
00:06:16 :à partir de ce fichier de spec donc on pourrait avoir un processus automatique qui déploie notreapplication quand on a terminé et qui recrée l'exécutable automatiquement dans le dossierde destination ici. Donc voilà comment créer un exécutable avec pyinstaller avec différentes
00:06:30 :options que l'on peut spécifier comme le nom de l'application ou des dossiers en plus à inclure.Il y a beaucoup d'options supplémentaires que vous pouvez utiliser pour ça je vous conseilled'aller voir la documentation qui est très bien faite et qui répertorie toutes les options etpourquoi vous pourriez en avoir besoin lors de la création de vos exécutables avec pyinstaller.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.