Installer Python et gérer vos environnements
Session du 03 octobre 2023 à 19h00
Bases du Langage
DevOps & Environnement
Deviens membre Premium
Cette session de mentorat est réservée aux membres Premium. Rejoignez-nous pour accéder à toutes les rediffusions des sessions de mentorat !
Premium
- +100h de formations
- +180 exercices de code
- +100h de mentorats en rediffusion
- 20 projets
- Mentorats groupés hebdomadaires
- Support individuel avec nos mentors
Installer Python et gérer vos environnements
On revoit les bases par rapport aux installations de Python sur Mac / Linux et Windows.
Petit aperçu des variables d'environnement sur Windows et Mac, des alias dans un shell (zshell et bash sur Mac, WSL et Git Bash sur Windows).
On parle également de la gestion de plusieurs versions de Windows sur une même machine.
00:00:00 :Ok c'est parti. Alors je ne sais pas s'il va y avoir beaucoup de monde, vous avez reçumon mail, si oui je l'ai bien envoyé, normalement j'en ai envoyé plusieurs, j'en ai envoyéun la semaine dernière, en fin de semaine dernière. Ok vous m'entendez bien, c'est
00:00:25 :ok, normalement tout est bon. Ok on va attendre encore deux petites minutes, je vais faireun rewind. Donc oui je ne sais pas si vous aviez vu, si vous êtes là que vous aviez
00:00:44 :vu les communications à propos de cette session supplémentaire du coup, parce qu'il y a euquelques nouveaux ces dernières semaines, en fait le mois de septembre en général,il y a eu quand même pas mal de nouveaux inscrits, et ça faisait un petit moment qu'on n'avaitpas fait de session axée plutôt débutant, mais là je vois qu'il y a quand même pas
00:01:09 :mal de gens que je vois assez souvent dans les mentorats qui ne sont plus totalementdébutants, donc on verra, on adaptera s'il faut la session, il n'y a pas de soucis. Et
00:01:23 :l'idée était aussi de faire du coup une session un peu plus libre aussi, questionsréponses, il y a pas mal d'étudiants, je ne sais pas si Gab sera là aussi ce soir,il y a Vincent qui est là, c'est cool aussi parce que justement je pensais aussi parlerun petit peu, salut Vincent. Ouais c'est ça en fait justement je ne sais pas si vous
00:01:49 :avez vu, il y avait quelques petites questions en plus justement vu que Python 3.12 vientde sortir, il y a pas mal de petits trucs, ah oui il y a un bug sur, ah putain, ok c'estmoi qui mis, ok effectivement, désolé, je vais remettre tout ça, donc c'est pour
00:02:27 :ça qu'il y a peut-être moins de monde que j'espérais. Ok bon je vais attendre encoreune ou deux petites minutes alors du coup que les gens arrivent, pour pas trop me répéter.
00:02:41 :Salut Manny, je crois pas qu'on t'ait déjà vu pour le coup, pas de soucis Ludo. Doncnormalement le lien c'est bon, ouais j'ai oublié le HTTPS du coup il l'a additionnéaprès doctrine, ok tout accepté. Ah voilà donc là les gens commencent à arriver, cool.
00:03:06 :Donc ouais il y a pas mal de choses qui bougent là en ce moment, il y a même je sais paspour ceux qui sont un peu plus côté on va dire écosystème en général, il y a aussiun événement sur Arc, le navigateur que vous connaissez peut-être certains d'entre
00:03:24 :vous, qui est un navigateur assez intéressant, qui enfin bouge pas mal de choses justementpar rapport à ce à quoi on est habitué en général, parce que les navigateurs c'estle genre de truc qui n'a pas bougé depuis 20 ans, c'est un peu comme les mails, on atoujours le vieux gmail etc, il y a quelques boîtes qui font des trucs un peu plus avancés,
00:03:46 :et là il y a Arc du coup qui avait un événement, il y a bon Python 3.12 qui est sorti hier,si vous n'avez pas vu la vidéo, je sais pas si quelqu'un peut mettre le lien pendantque je parle, j'ai fait une vidéo hier, il y a un article aussi sur le blog, et il
00:03:59 :n'y a pas énormément de nouveautés, c'est quand même vraiment des petits trucs, çafinit par s'accumuler quand même depuis la version 3.7, 3.8 là, mais c'est pas non
00:04:11 :plus des trucs qui révolutionnent le langage, surtout qu'il y a pas mal de choses qui sontquand même un petit peu plus avancées, sur les annotations de type notamment, c'estpas des trucs qu'on utilise tous les jours, c'est des trucs en plus également, parcequ'on peut très bien faire un code sans aucune annotation de type, et au niveau des
00:04:32 :f-strings, pour ceux qui ont vu aussi, c'est pas des trucs révolutionnaires non plus,c'est des petits trucs, ça et les messages d'erreur, c'est des trucs un peu sympas,mais ça révolutionne pas tout, il y a beaucoup de trucs par contre en arrière plan, surles performances qui sont améliorées, sur le global interpreter lock, qui pour la prochaine
00:04:49 :version devrait, la prochaine donc la 13 et peut-être la 14 aussi.J'entends rien.Ah, est-ce que vous m'entendez les autres normalement ?Ouais ouais.Ouais ok.
00:05:02 :Moi oui.Ça doit être de ton côté du coup.Ah ouais c'est bon.Ok c'est tout bon ?Hop, et je vais juste couper vos micros si vous parlez pas aussi, parce que sinon çava faire un écho, comme ça on aura un son nickel.
00:05:22 :Merci super.Donc voilà, il y a pas mal de choses qui bougent, et justement il y a à cette occasion,Gab, je crois pas qu'il est là ce soir, Gab qui posait la question parce qu'il avaitjamais installé d'autres versions de Python en fait sur son OS, et ça c'est clair que
00:05:41 :c'est le genre de choses qui bougent un petit peu.Dites-moi d'ailleurs dans le chat sur quelle OS vous êtes, que je vois un petit peu, sivous êtes sur Windows, Mac, Linux, parce que j'ai, ok, ok, ok, 50-50, ok, quand mêmepas mal de Windows, Linux, Mac, ok.
00:06:03 :Parce qu'effectivement en fait sur Windows, enfin sur Mac, enfin Linux, je sais plus,ça fait longtemps que j'ai pas utilisé de Linux du coup, à part via des lignes de commandesdans des VPS, mais il me semble que c'est quand même 99% similaire à Mac, sauf quesur Mac il y a quand même, là si on va voir, je vais vous montrer, ça fait un petit peu
00:06:25 :toujours bizarre, désolé c'est un petit peu décousu là ce soir, puisque comme jedisais c'est un peu antenne libre, donc n'hésitez pas si vous avez des questions aussi, on vapouvoir parler de tout ça, puisque comme je disais au début, pour ceux qui sont arrivésen cours de route, donc ça fait longtemps qu'on avait pas de sessions plus axées débutants,
00:06:45 :on a fait beaucoup beaucoup de sessions là ces derniers temps sur Django, des trucs assezavancés, les Query Sets, sur Streamlit, sur des déploiements, VPS, Docker, tout ça.
00:06:54 :Donc c'est un peu plus avancé, il y a pas mal de gens, d'ailleurs il y en a peut-êtrequelques-uns là, je pense, ce soir, je vois pas mal de nouveaux là, confirmez-moi sic'est le cas, qui sont peut-être là depuis une, deux, trois semaines, donc l'idéec'était aussi de faire un petit point, de revenir sur quelques bases, et justement
00:07:14 :avec la version de Python en plus qui vient de sortir, ça amène justement ce sujet intéressantsur la gestion de plusieurs versions, parce qu'il y a beaucoup de choses et ça va au-delàde Python en fait, tout ce qui est variable d'environnement c'est assez intéressanten général, de maîtriser ça, ça fait peur au début, ça peut aussi beaucoup déstabiliser
00:07:34 :parce que ça peut, comment dire, ça peut rebuter un peu de voir que les premièreschoses qu'il faut faire c'est tout de suite qu'il faut qu'on ouvre un terminal, qu'ontape quelques lignes de code des fois dans le terminal, qu'on ouvre des préférencessur Windows dans lesquelles on n'est jamais allé, donc ça peut faire un peu peur. Alors
00:07:53 :je vais partager mon écran pour vous montrer du coup, rien que la page d'ailleurs, c'estça que je voulais vous montrer, rien que la page sur les downloads de Python fait peurje trouve. Alors on va partager, tout l'écran, ok. Ah oui effectivement du coup Edouard,
00:08:24 :bienvenue, donc première session j'imagine, à moins que tu aies assisté la dernièrequi était jeudi dernier. Et oui Mickaël, toutes les sessions sont enregistrées, vous
00:08:35 :les trouvez sur, hop, dans l'accompagnement, dans mentorat, t'as toutes les sessions làdans Rediffusion. Et j'en profite pour redire, je sais pas à quel point vous l'utilisez
00:08:46 :mais j'ai vachement amélioré la recherche il y a quelques, bah cet été, ça faitquelques mois maintenant, et on sous-titre tout grâce justement aux nouveautés deWhisper, Whisper qui est un truc incroyable de OpenAI là encore, qui fait de la traductionquasi parfaite, c'est assez vraiment bluffant, j'en ai déjà parlé justement, bah tiens
00:09:08 :on peut peut-être chercher Whisper, ça me permet précisément de montrer, alors jesais pas, normalement, hop, il y a toute la transcription etc. 22 mai, sous-titres je
00:09:23 :sais plus, les sous-titres automatiques sur mes vidéos, voilà. Donc en fait on sous-titremaintenant, toutes les vidéos ont été sous-titrées, toutes les sessions de mentorat, et du coupquand on cherche, ça cherche aussi dans les sous-titres, donc c'est pour ça que c'estvraiment assez puissant, même comme je vous dis, j'ai lancé tous les sous-titrages de
00:09:43 :toutes les formations notamment, donc vous voyez là, je crois que j'avais vraiment toutfait, si vous prenez n'importe quelle session là, elles sont toutes sous-titrées, et doncvous pouvez vraiment chercher, quand vous cherchez quelque chose par exemple sur PastLib, ça va chercher dans les sous-titres ici, donc n'hésitez vraiment pas à l'utiliser,
00:09:59 :vous pouvez filtrer après justement si vous voulez chercher dans des mentorats par exemple,on a fait pas mal de choses sur Streamlit récemment, donc vous voyez que vous pouvezvraiment utiliser la recherche pour trouver pas mal de choses. Donc voilà, petite parenthèse
00:10:15 :pour dire que toutes les sessions sont disponibles pour ceux qui sont un peu nouveaux, et quine seraient pas forcément au courant, donc je reviens sur le Python, du coup rien quela page des downloads, effectivement quand on arrive dessus, c'est un peu le bordel,en fait c'est comme beaucoup de logiciels, vous avez ce pattern, je ne sais jamais quel
00:10:35 :mot utiliser pour ça en français, ce type, donc il y a un mot en français pour patternsi quelqu'un le retrouve, donc avec les major, minor et le .0, si je me trompe pas c'est
00:10:52 :debugfix, je ne sais plus s'il y a major, minor, et puis je crois qu'il y a un autrenom pour le dernier ici, et là vous voyez que ça fait beaucoup beaucoup beaucoup deversions ici à chaque fois, et en fait des fois on ne s'y retrouve pas, surtout que
00:11:07 :des fois si j'en prends une par exemple, il y en a qui sont tellement des petits releasesque vous voyez ici par exemple qu'il n'y a même pas de download en fait. Donc vous
00:11:14 :voyez noinstaller, c'est securityfixonly, donc en fait vous n'avez même pas de fichierpour télécharger. Donc en fait des fois on clique sur une version, on se dit je veux
00:11:25 :la 3.10.13 et on n'a même pas de lien pour télécharger. Donc souvent vous avez lesversions actives, la 3.8 et end of support le 10 2024, donc c'est toutes les versions
00:11:38 :qui sont encore supportées, qui ont des bugfix de sécurité justement, quand il y en a encore,quand il y a des trucs qui sont découverts, et donc si on va sur la 3.12, là on a donc
00:11:47 :la 3.12.0 qui est sortie hier, et elle donc il y a tout ce qu'il faut ici, et c'est ceque je disais en fait sur Mac à la différence de Linux, puisque là vous voyez il n'y apas d'installeur sur Linux, sur Mac je trouve que c'est vraiment le mieux foutu en fait
00:12:02 :pour avoir testé un peu tous, parce que Windows justement c'est ce que j'étais en train dedire avec Gabriel dans la communauté, c'est que je crois que quand on l'installe et qu'oncoche la case add path to environment variable, la case que je vous dis de cocher dans les
00:12:20 :formations, je crois qu'il enlève en fait l'ancienne, et c'est ça en fait j'ai envied'aller vérifier, on va lancer du coup avec Parallels, puisque j'ai vu qu'il y avait quandmême pas mal de gens qui étaient sur Windows, donc je vais lancer une petite session WindowsParallels pour ceux qui ne connaissent pas, ça permet justement de lancer différents
00:12:40 :OS, c'est payant, sinon vous avez VirtualBox qui est bien pour ça aussi, mais j'ai toujourstrouvé que Parallels était vraiment beaucoup plus stable, et ça coûte pour les formations,je trouvais que c'était un peu plus pratique. Donc justement ça c'était pour la formation,
00:13:03 :donc si je vais voir, donc là je suis sur Windows, et justement ça va être différenten fait entre Windows, Windows Mac Linux, Linux si je ne me trompe pas, en fait il fautjuste généralement, comme à peu près tout sur Linux, il faut aller voir justement,si je reviens sur Linux, on va taper Linux install Python 3.12, et il faut souvent ajouter
00:13:32 :un dépôt qui va ensuite télécharger, donc là ça va dépendre en plus de toutesles, vous updatez le app qui est le dépôt en fait, et ça va changer en fait à chaquefois entre les versions que vous utilisez, si vous êtes sur Ubuntu, sur, désolé quelqu'unqui vient d'arriver, je suis allé l'accepter, donc voilà ça va changer en fait à chaque
00:13:57 :fois, sur Ubuntu effectivement je pense que c'est quand même assez simple, il suffitde faire un apt update et apt install Python 3.12, et si vous ne l'avez pas fait il faut
00:14:05 :ajouter le repo dead snakes, mais vous n'avez pas besoin de le faire à chaque fois normalement,si vous l'avez fait une fois après vous pouvez juste du coup installer comme ça assez facilement,sur Mac du coup vous pouvez, il y a un installeur c'est pas compliqué, donc vous prenez cet
00:14:19 :installeur et c'est bon, sur Windows ça commence à se compliquer parce qu'effectivementon en a au moins 6 là, les embedables il ne faut pas y penser, et après vous avez enfonction si vous êtes sur un 32 bits ou 64 bits, souvent c'est 64 bits et c'est pour
00:14:32 :ça qu'ils ont quand même rajouté un petit truc recommanded ici, mais c'est vrai quece n'est pas forcément toujours évident quand on arrive sur cette page quelle versionil faut installer. Et donc comme je vous dis, sur Mac je trouve que c'est bien parce qu'en
00:14:43 :fait automatiquement si j'ouvre un terminal, c'est ce que je regardais tout à l'heure,si je fais un écho du path, en fait il va ajouter automatiquement le dossier bin dansvotre variable path, et donc là vous voyez qu'à chaque fois que j'installe une version,donc là moi j'ai la 3.9, 3.11, 3.12, 3.10, donc à chaque fois en fait il va ajouter
00:15:03 :ce dossier, le dossier bin qui contient Python, 3.12 et plein d'autres trucs comme Idol,MyPy, d'autres trucs etc, enfin MyPy c'est une bibliothèque parce que je l'ai installé,mais voilà vous avez plein de trucs comme ça, et donc comme c'est à l'intérieurde path en fait on peut directement appeler tout ce qu'il y a ici sans avoir besoin de
00:15:22 :mettre le chemin complet. Et donc là ça va être pareil pour les versions 3.11, 3.10etc, je peux juste mettre du coup Python 3.10, 3.11, 3.12, 3.9, et à chaque fois je vais
00:15:35 :rentrer dans le bon interpréteur. Sur Windows c'est un peu différent du coup, n'hésitezpas si vous avez des questions ou autres, n'hésitez pas à m'interrompre. Ok donc dans
00:15:48 :Windows ça garde tous les path, en fait le truc c'est que, si je ne me trompe pas,c'est que là vous voyez en fait il y a un Python 3 ici, le truc c'est que si je faisun ls-la, ça permet de tout afficher en liste, et a c'est all donc ça affiche aussi les
00:16:05 :trucs cachés, et là en fait quand on fait un affichage comme ça, ça permet de voiren fait tout ce qui est l en fait ici c'est des liens symboliques, donc là en fait ona l'impression que c'est aussi un truc qui perturbe un petit peu, on se dit qu'est-ce
00:16:16 :que, enfin quelle est la différence entre Python 3 et Python 3.12, il n'y en a pas enfait puisque justement ce Python 3 il redirige vers Python 3.12, donc en fait ça change
00:16:26 :absolument rien. Si vous utilisez Python 3 vous utilisez Python 3.12 et si vous utilisezPython 3.12 vous l'utilisez directement. Et donc déjà voilà ça c'est un truc qui
00:16:36 :est pas mal confus pour pas mal de personnes, pareil avec Idle 3 ici vers le 3.12, et donclà si je fais Python 3 en fait vous voyez là ça me donne la Python 3.12, je l'ai installée
00:16:49 :le 1er octobre, c'était pas encore la version finale, parce qu'en fait pourquoi ça me sortcette version là, parce qu'il va prendre ce qui est en premier dans le path, donc làcomme ça c'est en premier ici, c'est celle qui va primer par dessus tous les autres,donc c'est vraiment juste un ordre de priorité. Arnaud du coup tu me disais que dans Windows
00:17:09 :ça garde tous les paths, mais on va aller vérifier parce que je crois que du coup làcomme on l'a vu ici on a un Python 3.12 et je suis pas sûr qu'il y ait sur Windows
00:17:20 :le .12 aussi, je crois qu'il y a juste le Python 3 mais je suis plus sûr. Alors onva aller voir ça, et oui je suis un peu paumé aussi parce que c'est la première fois quej'utilisais ce nouveau Windows 11 avec plein de pubs partout dans les menus, j'adore à
00:17:34 :ça, on achète un truc, enfin bon il y a des techniques pour pas l'acheter trop cher,je crois que je l'ai acheté 5 euros là sur Cdiscount pour ceux qui savent pas la technique,mais ouais, j'ai une petite dent contre Windows, pour ceux qui me connaissent vous savez que
00:17:53 :j'aime bien envoyer des petites piques. Donc là si je vais dans Python, là je dois l'avoirje l'ai installé, j'avais essayé de faire un truc avec le fameux Windows subsystem forLinux, donc c'est pour ça que là en fait j'ai pas de version installée, c'est un peuque je me plante aussi dans tous les raccourcis de clavier, donc en fait là si je fais un
00:18:24 :Python 3, voilà c'est en fait le Windows subsystem for Linux. Franchement moi je trouveque j'étais un petit peu déçu, Windows subsystem for Linux, je pensais que c'était,ça fait un moment que je l'avais pas utilisé, donc en fait pour ceux qui connaissent pasc'est un petit Linux en fait sur Windows, donc c'est Windows qui s'est rendu compte
00:18:41 :quand même que c'était un peu chiant de pas avoir Linux, donc ils ont juste intégréun Linux dans Windows, c'est là encore un petit peu drôle, et justement j'ai trouvéque c'était encore pas forcément super simple à installer, par défaut il m'a pasinstallé la dernière version, j'ai dû mettre à jour le truc, après on sait jamais trop
00:19:00 :en fait si des fois on peut utiliser des trucs qui sont sur le Windows dans le Linux et viceversa, c'est un petit peu le bordel je trouve. Donc là en fait justement j'en ai pas, c'est
00:19:11 :la bonne raison pour du coup l'installer, non c'est marrant, oui là il me donne, ouialors ça vous avez quand même, ça c'est pas mal, ils ont rajouté en fonction de votreOS, genre si je retourne sur, hop ici, si je me trompe pas, là il va détecter votre
00:19:25 :OS et vous avez direct une version qui est bonne pour votre OS, donc c'est quand mêmepas mal, vous pouvez juste cliquer ici et vous avez au moins la dernière version, làoù ça se complique c'est quand vous devez, tiens je vois qu'ils ont des, ouais voilà,donc si vous allez sur la page ici, là pareil on se dit wow qu'est-ce que c'est que ce
00:19:39 :bordel, généralement moi ce que je fais en fait si je veux une version précise jevais chercher, je veux dire je veux la 3.8 par exemple, et là vous allez tomber sur
00:19:47 :des versions, le seul problème comme je vous l'ai dit c'est que si je clique là, les3 quarts du temps sur des blocs fixes ou de sécurité, il n'y a pas de truc pour télécharger,donc vous faites 3.8 et vous descendez jusqu'à trouver une version qui est intéléchargeable,
00:20:01 :donc hop 3.8 on descend, 3.8, celle-là aussi je pense qu'elle en a pas, parce qu'à chaquefois justement c'est, hop, on voit rien, donc on descend, on descend, on descend, etjusqu'à trouver, voilà celle-là vous voyez à chaque fois là, maintenant ils ont rajoutédonc on peut voir que là on a les installeurs, et donc celle-là on a tout ce qu'il faut
00:20:21 :pour Mac et pour Windows. Et oui, effectivement Arnaud, c'est ce que je conseillais du coupd'utiliser le PyLauncher, donc je vais vous montrer tout ça, donc là je suis encoresur Windows, et je dois avoir le téléchargement ici, donc le truc c'est que là il va, nonok, généralement il me demande 40 milliards de trucs de sécurité, là ça va. Donc en
00:20:47 :fait voilà, c'est cette petite case qui, je comprends pas pourquoi elle est pas cochéepar défaut, parce que c'est quand même important, et par défaut oui il le fout dans le labdatalocal, ceci c'est un truc que je vous conseille d'éviter, parce que j'ai souvent vu beaucoupde problèmes de permission pour ça, donc moi je clique sur customize, et en fait quand
00:21:09 :c'est ici vous choisissez d'installer pour tous les utilisateurs, par défaut il va lemettre ici dans Program Files, et moi des fois je le mets souvent juste même directementdans le C, mais bon Program Files ça peut être pas mal aussi, puisque ça aussi autrehérésie de Windows qui fout des espaces dans les noms de dossiers, ça c'est un vieux
00:21:27 :sujet, mais c'est pour ça que si je peux éviter d'avoir des espaces, je préfèrele mettre là des fois, donc je vais le mettre là, là voilà les trucs de sécurité auxquelsje m'attendais, et là vous allez voir qu'il va ajouter pas mal de choses dans les variablesd'environnement, et après effectivement on peut utiliser le PyLauncher pour spécifier
00:21:46 :la version qu'on veut. Désolé c'est peut-être un peu chiant pour l'instant parce que jepense que c'est des trucs que vous avez déjà vu, mais ne vous inquiétez pas on va avoirdes trucs un peu plus sympas avec tout ça, parce que ça va me permettre de vous montrer
00:22:01 :justement les variables d'environnement, de comment on peut aussi lancer, ça c'estun truc très souvent quand on utilise PIP par exemple pour installer des librairies,comment on fait, il y a beaucoup de gens qui mettent PIP directement, qui vont mettre PIPavec la version, je vais vous montrer différentes façons de faire, et moi ce que je préfère,
00:22:18 :et il y a pas mal de petites subtilités qui peuvent être assez intéressantes à revoir.Alors Edouard, Python est dans mon programme files avec Which Python est dans l'app de...
00:22:31 :Alors, t'as installé plusieurs versions de Python ou juste une seule ? Parce que souventje sais que seulement la 3.11. Et tu l'as installé avec l'installeur là sur Python.org ? Parce
00:22:52 :que je sais que des fois j'ai des étudiants qui l'installent avec le Windows Store, làon peut aussi l'installer depuis, je sais plus où c'est là, Windows, et par défautavec le Windows Store, ou Microsoft Store, vous pouvez l'installer depuis là aussi,et souvent justement, c'est un peu bizarre je crois, je pense pas qu'il passe par le
00:23:09 :même processus là que je viens de faire, et je crois que du coup en fait il le metdans le AppData. Ça se peut aussi, je suis en train de me demander, s'il n'y a pas une
00:23:20 :version de base peut-être maintenant qui est inclue, vous voyez là vous avez pleinde toutes les versions, et moi je vous déconseille formellement, fortement, formellement aussi,si je veux être un peu plus sévère de le faire, parce que là je sais pas trop qu'est-cequ'il va faire, où est-ce qu'il va le mettre, je pense qu'il n'y a aucun, je vais tester,
00:23:37 :je ne l'ai jamais fait, mais on va voir. Et du coup, bon t'as jamais eu de problèmede permission, ça c'est cool, parce que ça c'est un truc que je vais revenir le plussouvent, donc là vous voyez il l'a installé mais j'ai aucune idée où, et tu fais un
00:23:52 :witch avec git bash, parce que j'imagine que du coup si tu fais un witch tu n'utilisespas le command prompt ou git bash, je crois d'ailleurs que je l'ai installé, git bashici, on va voir, ouais ok. Donc, là justement on va voir si je fais justement un witch python,
00:24:14 :juste python déjà, donc là il me montre effectivement celui qui est dans le C, jevais grossir un petit peu, vous ne devez pas voir, wow, ok, c'est pas ce que je voulaisfaire, je vais grossir un petit peu qu'on voit, ok, c'est la loupe, hop, et on va aller
00:24:32 :dans texte, j'imagine, ok. Donc, ça me surprend si tu dis que t'as pas installé plusieursversions, peut-être, alors ce qu'il faudrait vérifier en fait je pense c'est est-ce quecelle dans AppData n'est pas justement juste un alias, un lien vers celle dans ProgramFiles, et ça sur Windows je ne suis même plus sûr si on peut faire des liens symboliques,
00:25:00 :je crois que oui, mais je crois me rappeler que c'est un truc un peu plus obscur. Et donccomme tu dis c'est quand tu fais entre python tout seul et python 3, et le python tout seulil est dans AppData local. Et si tu fais python, si dans git bash tu tapes python je pense
00:25:27 :qu'il faut mettre "-i aussi pour qu'il l'ouvre en interactif, ou python "-v directement pourvoir la version. Est-ce que c'est la même version ? Est-ce que c'est la 3.11 les deux
00:25:45 :fois ? Parce que si c'est ça je me dis que peut-être que, alors je vais aller regarderdans le AppData, je sais plus exactement comment on y accède, il y a un truc AppData si jeme souviens bien, un truc comme ça, si mes souvenirs sont bons. Ouais, non, comment
00:26:06 :accéder à AppData Windows. Ah oui non c'est pas des données, c'est des app. Parce queje me dis que du coup il a peut-être, ok oui c'est ça, attends python 3.10 ok alors
00:26:24 :non, là tu vois, le mystère s'épaissit. Mais j'ai rien dedans en même temps. Okc'est bizarre. Parce que j'ai même pas, j'ai juste les packages, j'ai rien de plus. Ah
00:26:38 :écoute là j'avoue je sais pas trop, je sais pas trop pourquoi, python, et donc vérifiesi c'est bien les mêmes versions. Si c'est pas les mêmes versions je me dis que soit
00:26:49 :vous avez déjà une version d'installer et c'est tout. Si c'est les mêmes versionspeut-être que, mais là encore c'est bizarre parce que tu vois moi je viens d'installerla 3.12 et j'ai pas eu deux versions de créer. Et on va essayer de trouver où se trouve
00:27:05 :le 3.11 que j'ai installé via le store aussi, ce serait un bon truc. Parce que là si jeme souviens bien, voilà j'ai installé le 3.11 mais j'ai aucune idée d'où il est.
00:27:15 :Easy to install, ouais ok. Je sais pas, non ils disent pas ici. Donc on va déjà lancerun terminal et là ça va m'ouvrir je crois, du coup par défaut on va ouvrir un bon vieuxcommand prompt et je vais aussi l'agrandir. Si j'y arrive, paramètres, wow ok. Putain
00:27:42 :qu'est-ce qu'ils ont changé comme truc. L'application, je rends du, mon dieu, je veuxjuste grosso modo, ok on va refaire, ah mon dieu ça ferme tout, ok. Ah, mon dieu, j'ai
00:27:59 :une capacité de résistance sur Windows qui est assez faible. Mais en vrai après je disça mais c'est surtout, ok, en vrai quand vous utilisez tout le temps, bon je vais essayerde faire avec cette loupe là, quand vous utilisez tout le temps votre OS, après vousêtes habitués, c'est la même chose pour ceux qui passent sur Linux ou sur Mac, on
00:28:19 :est tout perdu, je me rappelle la première fois sur Mac, j'étais là c'est horriblece truc, et maintenant j'adore. Donc là si je fais juste un python, là je suis dans
00:28:31 :la 3.12, ok, putain c'est un peu chiant ça. Vous voyez assez bien ou c'est, non c'estun peu petit quand même, je vais essayer quand même de trouver ces foutues options.
00:28:43 :Taille au lancement, ok, non, apparence, est-ce que quelqu'un sait où se trouve la tailledu texte. Command prompt, répertoire, paramètres, apparence, ok putain c'est caché, ok j'ai
00:29:01 :trouvé, c'est bon. Hop, et voilà. Ok, et là je suis dans les paramètres, ok parfait.Windows apps, ok, alors, Windows apps, mais ouais je pense que c'est ça, je crois queça peut être une, alors ce qui peut être possible aussi c'est que t'as peut-être uneautre application qui avait besoin de Windows et qui a installé sa propre version de Windows
00:29:28 :et qui te l'a foutu là-dedans. Ça ça pourrait être une possibilité. Ce qui me surprendraitpas. Donc moi si je fais witch python, alors oui non là du coup je suis pas, je crois
00:29:41 :pas qu'il y a un witch justement dans le command prompt, je sais plus. Là si je reviens ici,hop, et je croyais que j'avais, ah non c'était avec le git bash, je vais rouvrir le git bashça va être mieux. Garder mes préférences, ok, désolé on va y arriver, texte, hop,
00:30:06 :ok, save, ok. Donc, hop, donc si je fais un witch python, ah bah là j'ai un 3.10 aussi,ah bah ça alors, ça ça doit être celui que j'ai installé dans le Microsoft Storemais je pensais que j'avais installé la 3.11. Bon donc tout ça pour vous dire que c'est
00:30:31 :plus simple sur Mac. Python 3, bah c'est même plus, on sait même plus laquelle ona installé. Non c'était ça, c'était la 3.11. Donc où se trouve la 3.11 que j'ai
00:30:44 :installé, je ne sais pas, parce que dans Program Files du coup, non donc la 3.10 çadoit être quand même celle que j'ai installée, oui ça doit être celle que j'ai installéela dernière fois, oui pour faire le tuto. Non donc celle-là ok, ça c'est normal.
00:30:59 :La 3.12 donc c'est celle que j'ai installée là, donc là vous voyez on commence à avoirplusieurs versions. Et on a where dans le command, ok super, donc si on fait un where
00:31:10 :ici, on devrait avoir la même chose, where python. Ah oui et là il nous montre tout,ok, ah bah c'est pas mal ça, tiens ça c'est une bonne, je savais pas Arnaud, parce quelà il montre du coup tous les endroits où il trouve en fait un python.exe. Donc là
00:31:27 :on a le python 3.12 que j'ai installé, le python, et là vous voyez c'est ce que jedisais, c'est que là en fait c'est python.exe. Et je vais aller voir à l'intérieur de ça,
00:31:35 :vous voyez c'est ça le problème, c'est ça la différence en fait, et c'est pour çaque le PyLauncher est intéressant, c'est la grande différence que je vous disais parrapport à Mac où on a un exécutable qui s'appelle python 3.12, du coup quand on fait
00:31:49 :un écho de nos paths, on peut avoir différentes versions ici, 3.12 bin, 3.11 bin, 3.10 binetc. On peut en avoir plusieurs et c'est pas grave parce que finalement on peut préciser
00:32:01 :directement python 3.12, 3.11, 3.10 etc. Donc en fait on est tout le temps en mesure despécifier la version qu'on veut utiliser. Avec Windows du coup, là vous voyez il a
00:32:12 :ajouté, si je retourne sur mon app ici, quand on lui demande python, là il y en a trois.Donc quand je fais python tout simplement, là il m'ouvre, j'imagine là encore dansl'ordre le premier qu'il trouve, donc là 3.12, et le problème c'est que si je mets
00:32:28 :du coup, si on va voir les variables d'environnement cette fois-ci, si j'ai mes trois dossiersen fait qui sont dans les variables d'environnement, bin du coup on peut pas différencier lequelon veut en fait. Et vous voyez que c'est ça Arnaud, du coup il va prendre le premier
00:32:41 :et si je veux prendre le deuxième, comment je fais ? Bin là je suis un peu embêtédonc ce qu'on peut faire c'est tout simplement si vous souhaitez, vous pouvez renommer lefichier, on pourrait faire ça, on pourrait dire bin là je vais le renommer python 3.12
00:32:51 :et comme ça le problème est réglé. Et vous faites pareil pour 3.10 et pour les autres.Mais sinon en fait ce qu'on peut faire effectivement c'est aller dans les variables d'environnement,donc si je tape voilà, on modifie les variables d'environnement, mon dieu ça fait des annéesque je suis pas allé là-dedans. Modifier, hop, ah oui ça c'est vrai que c'est bien
00:33:11 :ils ont rajouté un truc, pour ceux qui ont utilisé Windows il y a plusieurs années,avant il fallait tout, t'avais tout dans une petite case séparée par des points virgules,c'était un petit peu le bordel pour modifier là, c'est un peu plus simple. Et donc vous
00:33:24 :avez les variables d'utilisateur et vous avez aussi les variables d'environnement systèmedonc on voit ici dans les variables utilisateur, hop, dans la variable path j'ai, ouais j'aipas de python, par contre dans les variables système, là vous voyez j'ai plein de choses,j'ai les dossiers script correspondant à chaque fois, j'ai le 3.12, j'ai le 3.10 et
00:33:44 :je dois avoir aussi du coup, non j'allais dire le appdata windows app, je le vois pasici, alors je sais pas où ils l'ont mis, peut-être une autre variable qui est utiliséepour ça, ok j'arrive à ta question Yegor après. Donc là vous voyez ce qu'on pourrait
00:34:08 :se dire c'est aussi tout simplement, mais ça c'est un peu chiant parce que bon si àchaque fois il faut aller changer les trucs c'est un peu compliqué, on pourrait toutsimplement enlever ce qui nous intéresse pas, si par exemple on veut à chaque foisavoir juste la 3.10, bah on a qu'à enlever en fait le python 3.12, on le supprime ici
00:34:23 :et comme ça, bah en fait ça va, on va retomber à chaque fois, je vais le faire pour vousmontrer, si je supprime ça, hop, et ça, hop, on valide, on valide, et on sort de là,fermer tout, et on va rouvrir, donc là si je refais un where, putain il garde pas mais
00:34:41 :il veut vraiment pas me simplifier la vie, ok il a gardé, donc si je fais un where pythonlà vous voyez cette fois le 3.12 a disparu, donc si je fais python là je tombe bien sur
00:34:50 :la 3.10, sauf que le problème c'est que c'est pas très pratique de faire ça, de modifierles variables d'environnement et donc pour ça on a le pylauncher, on fait py- et laversion qu'on veut, donc là, hop, ça marche effectivement, j'ai la 3.10 aussi, et ça
00:35:06 :c'est lors de l'installation en fait, vous pouvez choisir de l'avoir ou non, donc ilfaut bien le cocher, il y a une case là aussi lorsque vous l'installez, vous allez direje veux installer le pylauncher, donc ça c'est la façon de faire que je privilégie,ça c'est en fait l'équivalent de faire un python 3.12 ou 3.10 sur un Mac ou un Linux,
00:35:25 :là vous faites py- la version que vous souhaitez, et après vous pouvez faire tout ce que vousvoulez derrière, lancer un module, par exemple si je fais piplist comme ça, et ça on vay revenir justement, je vais vous parler de ça juste après. Je reviens du coup sur la
00:35:41 :question de Yegor, parce que c'est là que ça devient intéressant, c'est que la questionen gros, et là on va rentrer en fait dans tout ce qui est manipulation des variablesd'environnement, donc sur Windows on l'a vu en fait c'est vraiment, et faut pas voirun truc trop complexe, c'est très simple en fait ce qui se passe ici dans les variables
00:36:02 :d'environnement, c'est juste que la variable d'environnement path, ça va vous permettred'utiliser un exécutable sans avoir besoin de mettre le nom au complet. Donc c'est pour
00:36:12 :ça qu'en fait, quand on a, si je reviens dans le path ici, quand on a ces programfiles Python 3.10 ici, bah en fait ça nous permet d'utiliser, hop j'ai copié ça, d'utiliser
00:36:24 :tout ce qui est à l'intérieur ici, donc par exemple si je veux faire, si je veux lancerPython W, n'importe quelle application, Python W ou d'autres choses à partir de cheminrelatif, bah je peux le faire directement dans le terminal sans mettre le chemin complet.
00:36:39 :Donc on utilise souvent ça parce que c'est un peu pénible si à chaque fois on doittaper ces program files etc, surtout avec le foutu espace ici parce que du coup il fautmettre des guillemets, mais voilà c'est rien de plus que ça. Et du coup sur Mac c'est
00:36:53 :pareil, donc comme je vous ai dit en fait vous pouvez faire un écho de votre variablepath et ça va vous montrer tout ce qu'il y a dans votre variable path et vous allezvoir notamment UserLocalBin ici, tous les dossiers bin en fait assez classiques qu'ona dans le UserLocalBin, c'est là où vous avez plein de choses qui sont installées
00:37:11 :par exemple justement Stripe, Tailwind, CSS, Docker, quand on ajoute des applicationset qu'il y a des exécutables qui sont associées à ces applications, il va les mettre là.
00:37:26 :On a le UserBin aussi qui lui est plus au niveau système, donc UserBin, si on faitun ls là-dedans vous allez trouver en fait tous les exécutables qu'on a généralement,vous allez normalement trouver le ls justement, ce qui est assez drôle, si on va dans lelll, je ne sais plus, en tout cas vous avez tous les trucs que vous utilisez, là je ne
00:37:47 :le trouve pas, mais vous avez tout ce que vous utilisez généralement, qu'est-ce qu'ona par exemple, WhoAmI, Who, on a le WhereIs, Wait, toutes les commandes qu'on utiliseelles se trouvent là, et dans le LocalBin du coup, dans le UserLocalBin, ça c'estdonc le truc un peu utilisateur, le truc local, donc tous les trucs que vous installez
00:38:07 :en plus, Node, vous voyez tous ces trucs-là qui vont être mis là-dedans pour les séparer,qu'ils ne soient pas dans le truc global de votre système.
00:38:16 :Et donc en gros, parce qu'en fait il y a deux trucs à bien séparer, il y a ces variablesd'environnement avec la variable path, donc ça c'est pareil sur Windows et sur Macet sur Linux, vous avez une variable d'environnement qui s'appelle path, vous la modifiez, vousmettez des dossiers dedans en fait, et ensuite vous pouvez lancer les exécutables qui sont
00:38:39 :à l'intérieur de ces dossiers sans avoir besoin de mettre le chemin complet.Donc voilà, ça c'est la théorie du fonctionnement de cette variable path, après ça changejuste la façon dont on la modifie sur Windows, Mac ou Linux, et après vous avez sur Macet Linux un autre truc en plus qui s'appelle les alias, alors là je vais juste mettre
00:39:00 :ça sur un autre écran parce que dans ces fichiers il y a souvent pas mal de trucs,de clés, de choses qu'on ne veut pas forcément avoir dans un screen recording.
00:39:13 :Je fais donc, attendez, hop, je vous explique après, zshrc, je vérifie, ouais non j'ai pas,c'est un peu comme pour ceux qui ont vu la dernière vidéo, la dernière vidéo formationsur Flask, c'est des fichiers en fait où ça se peut des fois qu'il y ait des mots de passe
00:39:32 :ou des trucs comme ça, alors je ne vous conseille pas de mettre trop de trucs sensibles, maisbon je préfère regarder avant quand même, ouais, non il n'y a pas grand chose.
00:39:41 :Donc en gros en fait vous avez deux fichiers qui sont les fichiers bashrc et zshrc, je vaisregarder aussi tiens sur le Windows, le Windows je vais peut-être en avoir, si je vais sur mon,hop, donc bashrc ou zshrc en fonction du shell que vous utilisez, hop, zbashrc, voilà ok,
00:40:05 :voilà ok parfait, je vais vous le montrer sur Windows, donc là je suis sur Windowsmais je suis sur Linux, donc c'est ce que je vous disais tout à l'heure, c'est la fameuse,la fameuse, comment dire, le truc un peu drôle avec Windows qui a finalement décidéde mettre un Linux disponible dans Windows, donc en fait vous avez les alias qui sont
00:40:23 :disponibles aussi, donc les alias en fait là ça va être, c'est tout simplement unnom que vous utilisez pour tout ce que vous voulez, c'est bien pratique aussi et c'estpour ça, donc là je reviens, je suis toujours sur ta question Yegor du coup, c'est que enfait là par exemple si je fais python ici, alors python 3, donc là il faut bien comprendre
00:40:42 :je suis dans le Windows subsystem for Linux, donc je vais essayer de le regrossir de nouveauparce qu'il n'a pas gardé mes préférences, alors vous voyez là c'est marqué Ubuntuet je vais aller, donc voilà je commence à maîtriser, hop, enregistrer, enregistrer,ouais ok, donc là en gros je suis sur Windows mais je suis sur un petit Linux qui est dans
00:41:09 :Windows, donc là si je fais python 3 j'ai la 3.10, si je sors de ça, si je fais python3, est-ce que j'en ai d'autres, j'ai aussi la 3.11 tu vois, alors ça illustre parfaitement
00:41:21 :ce que je vous disais tout à l'heure, j'ai la 3.11.exe, donc ça veut dire que là j'aien fait un .exe, donc c'est un exécutable de Windows mais qui est affiché dans mon
00:41:30 :Linux, donc si je lance ça je sais pas ce que ça fait, ça le lance quand même, jetrouve ça assez drôle, et où est-ce qu'il est ce, donc là vous voyez, c'est pour çaque je trouve que, perso ça me, je trouve ça assez fucked up pour parler bon français,
00:41:50 :parce que là du coup en fait on a notre disque, on a le disque C qui est mounté sur le Linux,donc on a quand même accès à tout ce qui est sur notre Windows mais sur la machineLinux, donc si vous voulez vous mélangez les pinceaux il n'y a pas mieux, et là vous
00:42:04 :voyez que je peux quand même lancer du coup sur mon Linux un fichier .exe, donc ce queje trouve assez, je trouve ça bizarre, je sais pas trop même comment, ouais qu'est-cequ'il se passe ici, mais donc là imaginons qu'en fait quand je tape python 3, là pourl'instant ça me lance la 3.10, donc imaginons qu'à la place je souhaite lancer cette version
00:42:28 :3.11.exe, ce que je peux faire, je peux passer des heures à modifier justement mes variablesd'environnement pour enlever les dossiers, les mettre dans le bon ordre etc, ça c'estune possibilité qui est peut-être la plus, je sais pas si c'est la plus clean en fait,mais j'allais dire que c'est une possibilité qui permet de faire les choses au niveau du
00:42:50 :système, après vous avez donc les alias qu'on peut mettre dans un fichier qui est le fichierdonc zshrc ou bashrc, donc là pour le moment je suis avec un bash, ça vous pouvez le savoiren faisant un echo shell si je ne me trompe pas, voilà c'est bien ça, ma mémoire est
00:43:07 :bonne, donc echo $shell ça va vous indiquer en fait quel shell vous avez. Si je revienssur mon Mac, hop ici, si je fais echo shell ici, là vous voyez que je suis sur bin zsh,alors les deux sont quasiment identiques, toutes les commandes, enfin j'ai jamais vuune commande qui était différente sur bash ou sur zsh, zsh c'est un peu plus récent
00:43:28 :et sur les dernières versions de Mac c'est zsh zshell, qui est zshell comme ça vousle verrez aussi, qui est installé par défaut, sur les anciennes versions ou là comme vousle voyez sur Ubuntu, sur le Windows subsystem pour Linux c'est du bash. Dans les deux cas
00:43:45 :en fait c'est vraiment quasiment la même chose, la chose qui change principalementc'est ce fameux fichier, donc ce fichier il se trouve dans votre dossier utilisateurauquel on peut accéder avec le tilde, donc là dans ce cas-ci ça doit être dans hometilde tout simplement. Si vous faites un ls-la justement là vous allez voir, alors c'est
00:44:05 :pas obligé qu'il soit créé par défaut, je crois d'ailleurs que par défaut il n'existepas, ça peut être le cas si là si vous voyez si j'affiche ce qu'il y a dedans,là vous voyez j'ai des trucs, ouais ok donc il y a quand même des choses, donc ça dépend,
00:44:23 :des fois il y a des choses qui sont dedans, là encore ça va dépendre de votre versiond'Ubuntu, de Mac, de Windows etc, ou de Windows subsystem pour Linux sur Windows, et là vousvoyez il y a pas mal de choses ici et on retrouve justement les alias, et donc des
00:44:41 :alias comme je vous disais, je reviens finalement à ce que je voulais dire, c'est que vouspouvez en fait les ajouter dans ce fichier là, il y en a déjà qui sont créés commevous voyez ici, et en fait les alias ça va permettre de dire tout simplement qu'une commande
00:44:53 :est égale à quelque chose d'autre, donc par exemple un truc que je fais très souventlà, un clear, c'est quelque chose qu'on fait très souvent, donc on peut le faireen tapant clear, on peut aussi le faire en faisant ctrl-k ou commande-k, alors là ducoup vu que je suis sur une machine virtuelle je crois pas qu'ils le trouvent, là j'ai
00:45:11 :fait ctrl-l ça a marché, sur Mac c'est commande-k, et moi ce que je faisais trèssouvent c'est mettre c tout simplement à la place du clear, maintenant j'utilise leraccourci clavier mais c'est vrai que je crois qu'avant je savais pas qu'il y avaitun raccourci clavier, et je me souviens il y a très longtemps du coup c'était un des
00:45:33 :premiers alias que j'avais fait, donc ce qu'on peut faire c'est du coup modifier cefichier, on va utiliser vim, on va faire vim2-rc du coup, alors là comme je suis directementdans le dossier je peux faire .bashrc directement comme ça, je peux aller tout en bas du fichier
00:46:02 :et là on va rentrer en mode insertion, et on peut faire un alias, donc on peut diretout simplement alias c, égal, clear, et c'est tout. Vous avez juste besoin de mettre
00:46:10 :alias, ce que vous voulez utiliser, égal, et la commande, et la commande elle peut êtresuper complexe, vous pouvez mettre plein de commandes à la suite, si vous voulez mettreplusieurs commandes à la suite vous mettez un deux points et vous mettez autre chose,je vais vous montrer tout de suite après. Donc là si je fais ça, je sauvegarde, je
00:46:25 :vais ressourcer le bashrc pour qu'il ait bien les changements, et maintenant si jefais c, vous voyez, ça fait l'équivalent de clear, donc c'est vraiment exactementcomme si je faisais clear. Donc là vous voyez où je viens, c'est que le alias ça nous
00:46:39 :permet par exemple, donc là je vais pouvoir illustrer deux choses d'un coup, je vaisfaire un clear et après je vais lancer la version que je souhaite, qui dans ce cas-ciétait la version 3.10, je ne sais plus, je vais sortir, ah non c'était la 3.11, c'est
00:47:05 :ça. Donc je vais maintenant dire que je veux lancer ça, ah oui on ne peut pas faire decopier dans ce foutu truc aussi, ah mon dieu, je ne sais plus, il faut passer par un truc,parce que là je ne sais plus si je fais ctrl c, ça doit être don, ctrl v, ok parfait
00:47:24 :c'est bon. Non le clic droit, ça c'est un truc que je n'ai jamais compris, alors ilfait comme le clic du milieu là, bon c'est encore le bordel, non si je fais un clic droit,non je ne sais pas, en plus entre le windows subsystem et là, si je le fais ici, là tu
00:47:39 :ne peux pas, dans mes souvenirs il fallait faire un clic droit ici et tu avais un petittruc pour faire copier mais je ne sais plus. Donc là j'ai trouvé le chemin, je ne suis
00:47:49 :jamais sûr parce que du coup moi j'ai mon commande sur mac, mais là j'ai aussi monctrl et le ctrl c fonctionne du coup. Donc là je vais revenir dans mon bach RC, et à
00:47:58 :la fin je vais mettre un point virgule, je reviens en mode édition, point virgule, etje paste tout ça, et alors attention là justement si vous avez des espaces, il faudramettre tout ça entre guillemets, là on n'a pas d'espace, mais justement si vous avezle C program files, il faudra mettre tout ça entre guillemets sinon il va penser que
00:48:14 :c'est une autre commande à la suite, comme là avec l'espace entre l'alias et le C,si on a un espace ici dans le chemin, il va penser qu'on a un chemin et qu'après ona une autre commande qui commence, là ça a l'air d'être bon donc je vais laisser
00:48:26 :ça comme ça. Donc là maintenant si je fais C, ça va nettoyer mon terminal et en mêmetemps lancer la version 3.11, ce n'est pas le cas, parce que je n'ai pas sourcé le
00:48:36 :bachar C. Et voilà, vous voyez là je l'ai juste sourcé, je fais un C, non, alors nonil n'a pas l'air de vouloir, alors quand je source, il veut bien, j'ai fait de pascorrect, alors peut-être que sur Windows c'est un point virgule, j'ai un doute, c'estun deux points pardon, ça c'est toujours le doute que j'ai parce que là justement
00:49:02 :ça change aussi avec les, puisque sur Windows le deux points est utilisé pour les noms,enfin les chemins de dossiers, comme ici, donc normalement il faut utiliser un pointvirgule à la place, non normalement c'est ça, je vais mettre des guillemets du coup,je ne sais pas si c'est ça, et ouais c'est les guillemets, ok, donc c'est bien ça,
00:49:28 :ok, exit, on ressource, et oui il est dans le home, ouais voilà effectivement c'étaitça. Donc là vous voyez je fais C du coup, et ça clear et ça lance le terminal. Donc
00:49:39 :là après il ne reste plus qu'à faire un truc un peu plus intelligent que mettre C,mais vous voyez que là du coup si je veux, donc je reviens sur la question d'origine,je veux que, hop, mode édition, hop je reviens, hop, python, donc là du coup si je ressource
00:50:06 :.bashrc, si je fais python, du coup, oui ok le clear je l'ai foiré, mais là vous voyezque je suis bien dans le 3.11. Donc là c'est une façon pratique, et ça on peut le faire
00:50:18 :sur Mac du coup aussi, ou sur Linux, c'est une façon pratique si vous voulez qu'unecommande précise fasse quelque chose de très spécifique, vous pouvez directement créerun alias, et ça va prendre le pas du coup sur tout le reste, donc comme ça vous pouvezdire voilà je veux que, et on peut faire n'importe quoi, on peut faire un truc même
00:50:36 :simple, oui ok parce que là j'ai mis un C, hop, là on pourrait dire qu'on va mettretout simplement py justement, et si je ressource mon .bashrc, bah là je fais py et tout de
00:50:49 :suite je suis dans mon 3.11. Donc là vous avez vraiment le contrôle total sur ce quevous voulez faire avec ces alias. Donc voilà pour la petite explication entre variables
00:50:57 :d'environnement, alias, qu'est-ce qui est préférable, c'est à vous de voir, commeje vous dis les alias ça vous donne vraiment un contrôle total sur ce que vous voulezfaire, les variables d'environnement c'est vraiment pour ajouter tout un dossier, lesvariables d'environnement ça peut être pratique si imaginez que vous installez quelque chose
00:51:11 :et que vous avez 15 exécutables un peu comme justement le slash user slash bin, ça seraitun peu chiant si je reviens sur mon terminal ici, ça serait un peu chiant si à chaquefois, si ici on devait faire des alias vers tout ce qu'il y a là-dedans, si on devait
00:51:34 :faire des alias vers tout ce qu'il y a là-dedans ce serait un peu chiant. Donc là c'est pluspratique d'ajouter directement le dossier complet dans la variable d'environnementpath comme ça vous avez directement accès à tous ces noms, à tous ces exécutablessans avoir besoin de taper le chemin complet. Alors Yegor, oui, alors s'il n'est pas dans
00:51:56 :ton home en fait il faut le créer, c'est ce que je disais tout à l'heure je crois,et ça dépend aussi si tu es justement, est-ce que tu utilises git bash, est-ce que tu utilisesdu coup windows subsystem for linux, parce qu'avec git bash si je ne me trompe pas, je
00:52:14 :crois qu'il y a un autre endroit, je ne sais plus, attends parce que si je fais ça dansgit bash, là il me met là, je crois que tu dois pouvoir faire un bash rc, je ne saisplus, ou alors dans les préférences de git bash directement, non je ne sais plus, ah
00:52:33 :non c'est dans commander, dans commander il y avait beaucoup plus d'options, git bashj'avoue que je ne sais plus mais je pense que si tu fais on va essayer, parce que làtu vois si je fais un ls, là je crois qu'il n'est pas là, donc oui Yegor je ne sais pas
00:52:59 :si tu utilises terminal par défaut, ah t'es sur mac os, ah oui excuse, oui donc si tune l'as pas en fait il faut le créer, et effectivement sur mac os je suis quasimentsûr ou presque qu'il n'est pas là par défaut, là ça dépend encore justement des fois,
00:53:15 :par exemple moi j'ai installé oh my zsh, oh my zshell comme ça, et du coup c'est probableque quand vous installez des trucs comme ça il va créer le fichier parce que justementil va mettre des trucs dedans pour faire des trucs de setup, mais s'il n'y est pas en
00:53:30 :fait tu le crées tout simplement, tu vas là et tu fais un touch de .zshrc ou .bashrcen fonction du shell que tu utilises, et ça en fait ce fichier il est sourcé automatiquementquand tu ouvres ton terminal, donc là en fait moi je faisais un source ici parce qu'à
00:53:48 :chaque fois que je fais des modifications du coup je ne voulais pas fermer le terminalet le rouvrir, mais si tu fermes le terminal et que tu le rouvres en fait il va chargerce fichier automatiquement, donc c'est pour ça qu'il faut bien le nommer si tu es avec
00:54:00 :zshell ou avec bash pour qu'il load le bien, si tu es avec bash et que tu fais un .zshrcil ne sera pas loadé automatiquement et vice versa, mais après une fois que c'estbien nommé et que c'est au bon endroit il va être loadé automatiquement et comme ça
00:54:12 :ça te permet à chaque fois d'avoir tes bons alias, tu peux mettre aussi dedans justementc'est un truc qu'on fait régulièrement, si je reviens dans mon .bashrc, si on veut
00:54:22 :modifier en fait justement le path on peut faire export path égal et là on remet lepath et on met je pense que c'est 8,1 virgule sur windows et on va dire slash mmt slashc user on peut mettre autre chose comme ça, donc là en fait ce qu'on fait c'est qu'on
00:54:42 :redéfinit la variable path et on dit qu'elle est égale à elle même et on rajoute destrucs et on peut le mettre avant ou après justement en fonction de l'ordre dans lequelon veut le mettre, donc si on veut que quelque chose soit prioritaire on va le mettre avant
00:54:54 :et à la fin on va mettre la variable path qui va s'ajouter par dessus tout ça, sinonon va mettre l'inverse et comme ça ça va l'ajouter à la fin. Donc ça c'est la façon
00:55:02 :de modifier aussi cette variable d'environnement sachant que comme je vous le disais en faitce fichier va être chargé à chaque fois donc dès que vous ouvrez un terminal commeça vous avez ça qui est disponible. Et ça c'est très pratique vraiment c'est aussi
00:55:15 :une des raisons qui fait que personnellement j'aime beaucoup Linux et Mac aussi du coupmais pour tout ce qui est gestion d'environnement en fait pour vous donner une idée, nousaprès en fait bon là c'est un domaine un peu plus spécifique mais il y a plein d'autresdomaines où on va pouvoir faire ça aussi, c'est en fait en effet visuel donc dans le
00:55:36 :domaine dans lequel je travaillais avant on avait plusieurs projets et en fait chaqueprojet avait des besoins différents donc on avait des projets où il fallait avoircertaines variables d'environnement, des projets avec d'autres variables d'environnementet donc ce qui était très cool c'est que justement on pouvait avoir différents fichiers
00:55:50 :qui étaient sourcés en fonction de ce qu'on tapait donc là par exemple si je sors deça du coup on pouvait dire work on et puis on mettait le nom du projet on disait hopGame of Thrones et du coup ça allait chercher le bon fichier, ça sourçait du coup le fichier
00:56:07 :pour ce projet et ça modifiait toutes les variables d'environnement pour aller chercherjustement les bonnes versions de Python, les bonnes versions de logiciels etc. Donc ça
00:56:15 :c'est très pratique, il suffit de faire des fichiers comme ça avec différentes configurationset c'est un truc qui est super pénible sur Windows parce qu'à part les, alors je croisqu'on peut faire quand même des fichiers, il y a je sais plus comment, il y a une autrecommande, c'est pas export mais c'est un truc, non je sais plus ce que c'est, il y a une commande
00:56:35 :avec le command prompt etc, PowerShell, il y a des moyens de faire ça mais c'est toujoursun peu, enfin c'est un truc spécifique justement à Windows alors que sur Mac et Linux c'estpareil donc c'est quand même ça l'avantage. Est-ce que, voilà, ça fait pas mal de choses
00:56:52 :mais il y a pas mal de petits trucs je pense un petit peu plus avancés et un peu plusintéressants sur tous ces trucs là. Est-ce qu'il y a des questions là-dessus ? Sur tout
00:57:04 :ce qu'on a vu ? J'ai un autre truc aussi que je veux vous montrer. Parce que si vous avezdes questions n'hésitez pas soit à prendre la parole soit à les poster dans le chat eten attendant du coup il y a un truc que je fais, que je conseille souvent, moi c'est
00:57:24 :pour justement utiliser pip, parce que du coup il y a des gens, donc si on fait, onva faire la même chose avec pip ici, vous avez le pip.exe qui est à l'intérieur de
00:57:35 :scripts et ça c'est là encore parce que si je vais voir mes variables d'environnement,là comme on avait vu ici, voilà, j'ai le Python 3.10 script. Moi ce que j'aime bien
00:57:46 :faire en fait c'est du coup directement tout le temps passer par le pilencher, de spécifierla version que je veux et ensuite de faire "-mpip", parce que pip c'est aussi un moduleen fait, c'est un module de Python lui-même qui permet d'installer des modules de lalibrairie standard et autres, non justement pas de la librairie standard, d'installer
00:58:03 :des modules en plus de la librairie standard. Et du coup là comme ça moi je suis sûrde la version que j'utilise, parce que des fois en fait quand on fait juste un pip commeça, on sait pas trop quelle version on utilise, alors des fois justement vous allez avoir
00:58:17 :si je reviens sur mon Mac, vous allez avoir justement la possibilité de spécifier laversion pip 3.12, pip 11 etc, mais quand même moi justement en fait souvent je sais mon
00:58:29 :3.11 ou mon 3.12 etc, je sais d'où il provient, je sais si je l'ai modifié etc, donc je passetoujours par cet exécutable de Python et après je lance d'autres trucs comme pip oucomme d'autres choses, des fois ça peut être Django, si on pouvait faire "-m", Djangoadmin ou des trucs comme ça, comme ça je sais précisément en fait quelle version
00:58:48 :j'utilise. Donc moi je vous conseille de faire comme ça aussi pour avoir plus de contrôle.Est-ce qu'il y a des questions ? Ça fait une petite heure déjà là qu'on est, ouais
00:59:04 :ça fait une heure. Alors Visual Studio Code, est-ce que t'as des questions spécifiquessur VS Code ? Parce qu'on peut en parler, mais c'est vaste aussi comme sujet, du coup
00:59:28 :je crois que je l'ai installé sur ce Windows là, ouais il est là. Ouais ça c'était leprojet Flask justement. Flask qui était ouvert du coup dans le WSL ou Ubuntu, c'est vraiment
00:59:39 :parce qu'en fait vous pouvez ouvrir du coup VS Code et il va être directement vous voyezconnecté à WSL. Mais ouais moi je trouve ça, finalement je préfère utiliser Gitbash
00:59:58 :et je trouve qu'il y a une meilleure séparation des choses. Là en fait j'ai l'impressionque tout est un peu lié mais on sait plus trop où on est des fois et je trouve çaun peu. Alors quelle différence au niveau de l'installation ? Tu parles des versions
01:00:13 :spécifiquement de Visual Studio Code ou comment lancer différentes versions de Python dansVisual Studio Code ? Si tu parles de version de VS Code, je te conseille de prendre la
01:00:27 :dernière, il n'y a pas vraiment de Python. Donc dans VS Code en fait tu peux, je vaiste montrer, on va faire un script, Python file. Donc déjà il faut sauvegarder, ça
01:00:41 :c'est la première chose, c'est une erreur que je vois souvent, il faut sauvegarder tonscript parce que sinon tu ne peux pas faire grand chose, tu ne peux pas lancer un scriptqui n'existe pas sur ton disque. Donc là je sauvegarde un script, tu peux lancer un
01:00:57 :interpréteur Python, si je lance un Python comme ça, là tu peux exécuter des lignes,si je fais un print, là ça va marcher, mais si là tu n'as pas sauvegardé ton scripttu ne vas pas pouvoir le lancer. Et après en fait, donc là souvent quand tu n'as pas
01:01:13 :sélectionné d'interpréteur pour ton script, tu peux cliquer en bas et là ça va changerjustement, des fois Visual Studio Code ils sont bons pour changer d'interface un peutous les quatre matins, donc généralement il va te dire sélectionne un interpréteurparce qu'il n'y en a pas encore de sélectionné, là il va t'en proposer quelques-uns, ils
01:01:31 :ne sont pas forcément tous là, et après ce que tu peux faire c'est tout simplemententrer le chemin de l'interpréteur, donc imagine qu'on souhaite relancer tout çaavec le 3.11 justement, je ne sais plus où il était, là c'était un truc assez compliqué,
01:01:45 :où est-ce qu'il était notre 3.11 bizarre, switch, python 3.11, alors je ne l'ai plusparce que je l'ai foutu dans le app, elle est là, ouais donc lancer, user, app d'attaque,app d'attaque, donc là tu vois tu peux, et alors justement là, là du coup vu qu'onest, alors là c'est le bordel, on peut faire un browse, parce que là du coup on est dans
01:02:20 :home, tbash, donc là je suis dans le, parce que là je suis sur le linux du coup, maisbon tu peux mettre le chemin complet vers ta version, on va essayer ça direct, alorsattends, désolé, en plus il m'a foutu le truc à côté, où est-ce que je pourrais,
01:02:53 :parce que, ok je vais fermer tout mon Visual Studio Code, je vais essayer de l'ouvrirsans être dans le subsystem for linux, parce que là ça me bug, là j'y suis encore,opening remote, comment on sort de ça, close remote connection, ok, voilà là je suisrevenu, ok voilà parfait, donc là je vais refaire un fichier, new file, python, et on
01:03:17 :va le sauvegarder, on va rester à l'intérieur de notre windows, je vais le mettre sur lebureau, accueil desktop, ok, main, ah putain il s'est fermé, ok. Oui après en fait si
01:03:38 :je ne me trompe pas, Arnaud en fait c'est ce qu'il va faire du coup quand tu fais viala manip là que je vais montrer, si j'y arrive, s'il veut bien, ok ne plante pas s'il teplaît, ok, donc là, alors là il en a un, il a autodétecté justement un interpréteur
01:04:00 :python, et si je ne me trompe pas on peut faire select, alors avec le command palettequi est ctrl shift p, on peut faire select interpréteur, voilà python select interpréteur,et là on retrouve cette fenêtre qu'on avait quand on cliquait en bas, oui je pense qu'onpeut cliquer sur la version directement, donc on clique sur la version, là on voit
01:04:20 :toutes les versions qui sont disponibles, donc là vous voyez finalement ici il trouvela version 3.11 qui vient effectivement du Microsoft Store, on a la 3.12 et la 3.10,
01:04:29 :donc là tu peux choisir la version que tu veux, et si jamais tu as une autre versionqui ne l'a pas détectée, bah du coup tu peux entrer le chemin complet, donc là sion, hop, non pas ça, si on revient là par exemple, donc python tac, je peux lui dire
01:04:42 :directement, je peux faire ça, copier en tant que chemin d'accès, je reviens ici,et là tu vois je pourrais paster directement tout ça, mais je pense, hop, là je lui valide,et là en fait, il a pris, je pense qu'il fallait cliquer en bas, non, ok ouais c'estbon, là tu vois t'as le 3.12, et je crois effectivement qu'il fait ça via un fichier
01:05:08 :de config si je ne me trompe pas, on va aller voir dans le desktop, non, alors comme onaffiche les trucs cachés ici, affichés, éléments masqués, non ok je sais plus,je pensais qu'il me semblait qu'il mettait un fichier de config pour indiquer en faitquelle version tu utilisais. Mais en tout cas là du coup tu vois, là t'as choisi la version
01:05:31 :et du coup tu peux changer à tout moment, si tu dis finalement que tu veux la 3.10,bah tu cliques en bas à droite et tu choisis la version que tu veux tout simplement en fait.
01:05:38 :Merci Égor, bonne soirée.Après effectivement, comme disait Arnaud, tu as, alors où est-ce qu'il y a cette configmaintenant, tu dis en haut à droite, c'est ça, non, ça c'est le split, ok oui c'estdans les préférences, préférences, settings, profil, ah oui et tu cliques sur le, ouic'est ça, le open settings, oui c'est ça, défaut d'interpréteur, ça ça va changer
01:06:24 :si je ne me trompe pas, là en fait, ah oui je crois parce que là en fait si je ne metrompe pas on est en train de changer pour tout le, justement en fait on est en trainde changer et c'est pour ça qu'on n'a pas de fichier qui a été créé, c'est qu'on
01:06:35 :est en train de changer pour tout Visual Studio Code en fait.Donc à chaque fois qu'on va ouvrir un autre fichier etc, c'est ça, ça va le prendrepar défaut pour toutes nos versions, donc là on peut effectivement changer le chemin,donc ça va revenir au même, là si je fais ça et que je mets 3.11, tu vois là hop
01:06:51 :ça change dans cette configuration.Et ça c'est en fait le fichier de settings, tous les settings qu'on a ici, si je mets20 par exemple ici dans le font size, il va se retrouver dans le fichier de settings,donc ça permet d'éditer les settings en format texte ou via l'interface, mais ça
01:07:05 :c'est pour tout effectivement, tout Visual Studio Code.Après si tu ouvres un projet en fait, si tu fais open folder et que tu crées un dossierspécifique, après là il va rajouter un petit fichier de config dans ton projet etça va changer l'interprèteur juste pour le projet, comme ça tu peux avoir différents
01:07:22 :chemins pour différents projets en fait.D'autres questions ? Je me laisse avec ce merveilleux fond d'écran de Windows.Donc sur Windows ouais, c'est un peu, il y a beaucoup de trucs qui sont, que je trouveun petit peu pénibles, malgré que ça fait longtemps que je ne suis pas revenu dessus,
01:07:54 :je vais mettre à jour un petit peu les formations d'ailleurs prochainement sur tout ça, etmalheureusement là j'y suis revenu du coup il y a un mois pour la dernière formationqu'on a sortie et je m'attendais à mieux. Je dois dire qu'on m'avait parlé en bien
01:08:10 :du Windows Subsystem for Linux et j'étais assez déçu en fait du bordel que c'est encorepour faire court. Écoutez s'il n'y a pas d'autres questions on va s'arrêter là,
01:08:24 :je vais arrêter le partage d'écran, et il y aura donc une autre session jeudi avecPierre-André comme d'habitude, donc si jamais vous avez d'autres questions bien sûr vouspourrez les poser à ce moment là et dans la communauté, sur le Discord ou dans lesquestions réponses sur le site, il n'y a pas de souci aussi, on est là pour répondre.
Aucune occurrence trouvée pour « ».
00:08:35
Où trouver les rediffusions des mentorats et améliorations de la recherche du site
00:10:19
La page des téléchargements de Python (et comment s'y retrouver)
00:37:30
usr/bin
Bravo, tu es prêt à passer à la suite