- 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 :Pour vous montrer comment convertir un script Python en exécutable sur Windows,j'ai deux scripts ici. Un premier script qui est un jeu en ligne de commande,
00:00:09 :que l'on va lancer à l'intérieur d'une console.Et un autre script qui est une interface graphique,avec en plus des fichiers, donc un fichier JSON,que l'on va devoir inclure avec notre exécutable.
00:00:20 :Donc c'est deux cas assez courants que l'on voit quand on a besoinde convertir un fichier Python en exécutable.Donc je vais vous montrer à quoi ressemblent les scriptssi je lance le jeu ici avec Python 3.9 dans ce cas-ci.
00:00:31 :On a un jeu très simple en ligne de commande,qui nous permet de jouer à ce jeu.Et on a un autre script, donc ce Cineclub ici,je vais le lancer également pour vous montrer à quoi ça ressemble.
00:00:42 :Donc on lance le fichier app.py,et c'est ces deux applications que l'on va devoir convertir.Donc là vous voyez j'ai des films, je peux les ajouter,donc Harry Potter 2 par exemple,et en fait ces films vont être enregistrés à l'intérieur de notre fichier JSON.
00:00:55 :Donc c'est ces deux applications qu'on va voir comment convertiravec une bibliothèque qui s'appelle autopy2x.Donc il va déjà falloir l'installer,donc je vais lancer git bash,je vais le lancer en temps qu'administrateur,donc bien important pour que l'on puisse utiliser pipet que ça installe tout ce qu'il faut au bon endroit.
00:01:13 :Donc je vais utiliser à l'intérieur de git bash le pylauncher,donc le pylauncher de la version que j'utilise actuellement,donc la version 3.9, donc py espace-3.9,
00:01:22 :et on va utiliser le module pip,donc on va faire "-mpip install",et on installe autopy2x,donc comme ceci, auto-py-2-x.On appuie sur entrée pour lancer l'installation,donc là ça va prendre un petit peu de temps.
00:01:36 :Moi je l'ai déjà installé,donc vous voyez que c'est marquérequirements already satisfied pour tout ce qu'il y a besoin d'installer,mais vous normalement ça devrait donc faire l'installation,normalement ce n'est pas très long.
00:01:45 :Si vous voulez donc ensuite lancer l'interfacepour convertir votre fichier,donc on lance autopy2x comme ceci,on appuie sur entrée pour valider.Si jamais cette commande ne fonctionne pas,vous pouvez retrouver donc cet exécutable,en fait pour retrouver le chemin où il est,on va utiliser le pylauncher,et on va mettre "-0p",
00:02:03 :et ça en fait ça va nous permettre d'affichertous les endroits où on a des versions de Pythonqui sont disponibles.Donc là on retrouve notre version 3.9,
00:02:10 :qui est dans ses Program Files Python 3.9 ici.Donc je peux naviguer à l'intérieur de ce dossier,donc on va naviguer dans le C,donc sur git bash ça va être//C//Program Files comme ceci.
00:02:23 :Alors on va mettre des guillemets,parce que là en fait on a un espace,donc on met des guillemets pour entourer tout ça,Program Files,et ensuite c'est dans Python 3.9.
00:02:35 :Donc on navigue à l'intérieur de ce dossier,et si je fais un ls vous voyez qu'on adonc tous ces dossiers ici,et nous ce qui nous intéresse c'est le dossier script.
00:02:43 :Donc si je vais à l'intérieur de script,avec la commande cd, je fais un ls,et là on va retrouver le autopy2x,donc vous voyez autopy2x.exe,
00:02:51 :donc c'est ce fichier là qu'il faut lancer.Donc vous pouvez retrouver l'exécutable comme ceci,et le lancer donc en faisant autopy2x.exe,comme ceci.Donc ça va fonctionner de la même façon,ça va vous ouvrir l'interface,mais normalement vous devriez pouvoir le lancer directement,donc sans avoir besoin forcément de naviguer dans ce dossier.
00:03:09 :Comme je vous dis, commencez par redémarrer git bash,donc relancez-le,lancez-le en tant qu'administrateur,pour bien vous assurer d'avoir toutes les permissions,et ensuite, normalement,vous pouvez utiliser autopy2x, comme ceci.
00:03:21 :Donc une fois que vous avez lancé l'interface,on a cette interface qui apparaît,on va pouvoir aller sélectionnerdonc notre fichier, le fichier game.py,que l'on souhaite convertir en application.
00:03:31 :Donc je clique sur browse ici,pour ouvrir un navigateur, on va aller sur le desktop,et sélectionner game.py.Ensuite vous avez deux options ici,one directory et one file.
00:03:41 :Moi je vous conseille de choisir one directory,peu importe l'application que vous faites.On est souvent tenté d'utiliser one file,puisque ça va tout packager dans un seul exécutable,donc ça peut être assez pratiquepour envoyer un fichier,mais généralement, en fait, ça va être plus long à lancer.
00:03:55 :Donc moi je vous conseilled'utiliser one directory, et également quand vous avezdes fichiers que vous souhaitez inclureavec votre application. Avec one file,c'est censé marcher, mais j'ai eu beaucoup de problèmessouvent. Donc moi je vous conseille de choisir
00:04:07 :one directory, vous aurez donc un dossieravec tous les fichiers qu'il faut dedans.C'est un petit peu plus compliqué à partager,mais si vous pensez à toutes les applications que vousutilisez en général, c'est des dossiers.
00:04:17 :Vous avez très peu d'applications qui consistenten un seul exécutable. Donc c'est unefaçon de faire assez courante.Donc moi je vous conseille de laisser tout le temps en onedirectory. Ensuite on a le choix
00:04:27 :entre console based et window based.Donc là dans ce cas-ci, on va la laisseren console based, puisqu'on veut afficher la console,puisque c'est un jeu en ligne de commande.
00:04:35 :Dans le cas de la deuxième application,avec une interface graphique, on va choisirwindow based, puisqu'on ne veut pas que la consoles'affiche. Donc dans ce cas-ci, on veut
00:04:43 :que la console s'affiche, donc on laisse en consolebased ici. Ensuite on peut mettre uneicône si on le souhaite. Donc moi je ne vais rien
00:04:49 :mettre ici. Additional files,on le verra pour le cas de la deuxième application.Donc on laisse tout ça comme c'est pour l'instant.Et dans advanced, on vapouvoir changer le nom. Donc là dans ce cas-ci, je vais
00:04:59 :mettre par exemple jeu de rôle.C'est pas mal le seul truc qu'on a besoin de changer.Il y a pas mal de choses que vous pouvez changer.
00:05:05 :Vous pouvez peut-être changer le log level pour avoirplus d'informations en cas d'erreur ou des choses du genre.Vous pouvez le faire ici.Généralement, il n'y a pas besoin de changer grand chose.
00:05:13 :Donc moi je mets juste le nom ici de l'application.Vous n'êtes même pas obligé de le renseigner, mais si vous souhaitezavoir un nom spécifique, vous pouvez le mettre ici.
00:05:19 :Et ensuite dans settings, on va direoù est-ce qu'on souhaite le mettre. Donc moi je vais lemettre dans le bureau.Et on va faire un dossier qu'on va appeler outputs.
00:05:27 :Et je vais le mettre à l'intérieur de cedossier. Donc je le sélectionne.Donc ça va créer notre exécutable à l'intérieurde ce dossier. Et c'est tout ce qu'on a besoin de faire.
00:05:35 :Et vous voyez ici la commande pyinstallerqui vous permet de générer votreexécutable. Donc nous on va pouvoir le générer automatiquementen cliquant ici sur le bouton.
00:05:43 :Mais si jamais par la suite vous souhaitez recréercet exécutable sans avoir besoin d'ouvrirl'interface de autopy2x, et bienvous pouvez utiliser pyinstaller qui est lemodule qui est utilisé par autopy2xpour convertir notre script enexécutable. Donc vous pouvez copier cette
00:05:57 :ligne et la lancer dans git bash directementen ligne de commandesans avoir besoin de rouvrir l'interface.Donc ça c'est très pratique. Ça nous affiche tout ce qu'on
00:06:05 :fait ici. Comme je vous dis en fait si vous changez les optionssi on change one file vous voyez que ça changela ligne ici. Donc tout ça est généré
00:06:11 :automatiquement en fonction des options que l'on choisitdans l'interface. Donc moi je vaiscliquer sur convert py2x. Ça va lancerla conversion et on va retrouver dansoutputs normalement notreexécutable qui va être à l'intérieur de ce dossierune fois que ça aura fini d'être exécuté ici.
00:06:25 :Donc on attend un petit peu.Et voilà. Donc le projetest complété et là je retrouve un dossierqui contient tout ce que j'ai besoin etmon exécutable. Donc le fichier jeux-de-rôles.exe
00:06:35 :ici et tous les autresdossiers comme je vous disais. Donc ça c'est normalc'est tout ce qu'il a besoin pour exécutervotre programme. Donc je double
00:06:43 :clique sur jeux-de-rôles et là j'ai bien une consolequi s'affiche avec mon jeuauquel je peux jouer. Donc comme j'avais à l'intérieurde ma console. Donc là j'ai
00:06:51 :terminé le jeu donc ça s'est fermé automatiquementmais vous voyez qu'on peut avoirnotre jeu qui se joue comme ça àl'intérieur de notre console. Donc ça c'est pour notre
00:06:59 :premier script en ligne de commande etensuite on va voir les quelques choses qu'on abesoin de faire pour le scriptavec l'interface graphique. Donc je vais
00:07:07 :relancer autopie2x juste pourrevenir avec quelque chose de clean.On va cette fois-ci dans browse aller cherchernotre script à l'intérieur de Cineclub.Donc là il faut bien sélectionner le scriptque vous lanceriez en fait si vous étiez dans Visual StudioCode ou n'importe quel autre éditeur.
00:07:21 :Donc dans ce cas-ci c'est vraiment le fichier app.pyJ'ai un fichier movie.py quicontient des fonctions que j'utilise à l'intérieur deapp mais c'est vraiment le fichier app.py
00:07:29 :que j'utilise pour lancer monapplication. Donc c'est celui-là que vous choisissezc'est votre point d'entrée pour lancer votre script.On va rester en one directoryici et cette fois-ci par contre on va choisirwindow-based puisque comme je vous disais sion ne sélectionne pas window-based ici quand on va
00:07:43 :lancer notre application avec une interfacegraphique on va avoir également une console qui s'ouvre.Donc là c'est ce qui est marqué entre parenthèseshide the console. Donc on veut juste garder
00:07:51 :l'interface graphique. On laisselà encore l'icône vide. Moi dans cecas-ci je ne la mets pas mais vous pouvez en mettre une.Et cette fois-ci dans additional files on va allersélectionner un dossier. Donc dans ce cas-ci
00:08:01 :c'est le dossier data qui va contenirles informations de films que je vais sauvegarderavec mon interface graphique. Ça pourrait êtreégalement des images, des icônes, donctout type de ressources que vous auriez besoind'inclure avec votre executableque votre script en fait Python a besoinpour fonctionner correctement. Donc je vais cliquer
00:08:17 :sur add folder ici, je vais sélectionner ledossier data, sélectionner un dossieret là vous voyez qu'on aen fait une relation entre le dossier sur le disqueet ce que ça va être à l'intérieurde notre application. Donc dans ce cas-ci
00:08:29 :on va avoir la même chose, c'est-à-dire queje vais avoir un dossier data directementà l'endroit où je vais avoir monexécutable. Comme on a dans notre script ici
00:08:37 :on a le app.py et directementau même niveau que l'application on a le dossierdata. Si jamais on avait d'autres sous-dossierson pourrait les indiquer ici pour par exempleles mettre dans ressourcesdonc quelque chose du genre. Là dans ce cas-ci
00:08:49 :on a exactement la mêmecorrespondance donc avec le dossier data qui estdirectement dans le dossier où se trouve mon applicationdonc je le laisse comme ça ici. Dans
00:08:57 :advanced on peut changer le nom donc je vais l'appelerCineClubApp par exempleet on n'a pas besoin de toucher à quoi que ce soit d'autremême le nom comme je vous disais là encore ce n'est pas obligatoire.
00:09:05 :Dans le settings donc là on va lemettre également dans desktopoutputs donc je vais le mettre également iciet vous voyez qu'on a donclà encore notre PyInstaller donc notre commandeque l'on peut copier pour convertirnotre application avecPyInstaller directement. Donc je clique
00:09:21 :sur convert Py2X pour lancerla conversion ça doit être un tout petit peu plus longvu que là en fait on a l'utilisation de la bibliothèquePySci2 donc il y a un petit peu plusde choses à packager dans l'exécutableet si je retournedans le desktop dans outputs on va voir
00:09:35 :notre application qui va s'afficher iciune fois que ce sera terminé. Donc voilà on a notreCineClubApp donc je vais voir à l'intérieurvous voyez qu'il y a pas mal plus de choses qui sont maintenantà l'intérieur du dossier. On retrouve
00:09:45 :notre dossier data ici avec leMovies.json donc c'est parfaitet il est directement au même niveau que monapplication donc exactement comme avec monScriptPython. Donc là je vais pouvoir lancer mon
00:09:55 :application en double cliquant sur lefichier exécutable. Vous voyez qu'on aaucune console qui s'ouvre donc ça c'est normal c'estparce qu'on avait bien pris le soin decocher ici WindowBase donc on a juste notreapplication qui s'ouvre et je retrouve bienles deux films que j'avais ajoutés avec
00:10:09 :mon ScriptPython donc je peux les supprimeret je vais en ajouter un autreon va mettre le seigneur des anneauxjuste pour vous montrer que ça fonctionne bienet que si je ferme l'application et que je l'ouvrede nouveau on a bien donc le seigneur des anneauxpuisqu'on a notre fichier de data
00:10:23 :ici qui conserve bien les filmsque l'on a ajoutés dans l'application.Donc voilà comment créer des exécutablesà partir de AutoPy2Xqui est en fait comme je vous disais tout simplementune interface graphique qui nous permetde facilement changer les options ici sansavoir besoin d'aller dans les lignes de code avec
00:10:39 :PyInstaller et si jamais vous souhaitezconvertir vos fichiersen exécutables sans passer par une interfacevous pouvez utiliser directement PyInstallerdonc cette commande ici vu queAutoPy2X utilise PyInstalleril est automatiquement installé quand vousinstallez AutoPy2X donc vous pouvezutiliser cette commande ici à l'intérieur deGitbash pour convertir vos
folder_zip
Télécharger les fichiers
cloud_download
sources.zip
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.