Outils pour utilisateurs

Outils du site


issue206:python

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
issue206:python [2024/07/01 08:27] d52frissue206:python [2024/07/02 11:27] (Version actuelle) auntiee
Ligne 11: Ligne 11:
 According the the web page: “pipx is a tool to help you install and run end-user applications written in Python. It's roughly similar to macOS's brew, JavaScript's npx, and Linux's apt.** According the the web page: “pipx is a tool to help you install and run end-user applications written in Python. It's roughly similar to macOS's brew, JavaScript's npx, and Linux's apt.**
  
 +pipx ???
  
-**It's closely related to pip. In factit uses pipbut is focused on installing and managing Python packages that can be run from the command-line directly as applications.+Je vous salue à nouveauchers formes de vie sensibles etcomme le dirait le Dr Johnny Fever, « chers bébés ». Une fois de plus, je me téléporte depuis la plateforme d'atterrissage 2997 sur Terra pour vous apporter plus d'informations sur Python et ses gadgets, add-ons, trucs, astuces, pièges et autres bizarreries.
  
-In fact, if you dig deeper, you will find this statement: pipx is a specialized package installer. It can be used to install only packages with cli entry points.+Ce mois-ci, nous allons parler de pipx. Je suis sûr que vous êtes en train de vous dire : « Qu'est-ce que c'est que ce pipx et est-ce que Greg a du mal à taper "pip" ? ». Eh bien, la réponse, à la dernière partie d'abord, est oui, Greg a effectivement des problèmes pour taper, mais c'est une histoire pour un autre jour ! 
 + 
 +pipx EST RÉEL. pipx, selon leur site Web, vous permet « d'installer et d'exécuter des applications Python dans des environnements isolés ». N'est-ce pas aussi clair que de la boue ? 
 + 
 +Ouvrons donc un navigateur et regardons https://github.com/pypa/pipx/tree/main?tab=readme-ov-file, qui est le site de distribution de pipx, et faisons défiler jusqu'à environ un tiers de la page, ou recherchons sur cette page « what is pipx » (qu'est-ce que pipx). 
 + 
 +Selon la page Web : « pipx est un outil qui vous aide à installer et à exécuter des applications écrites en Python pour l'utilisateur final. Il est à peu près similaire au brew de macOS, au npx de JavaScript et à l'apt de Linux.  
 + 
 + 
 +** It's closely related to pip. In fact, it uses pip, but is focused on installing and managing Python packages that can be run from the command-line directly as applications. » 
 + 
 +In fact, if you dig deeper, you will find this statement: "pipx is a specialized package installer. It can be used to install only packages with cli entry points."
  
 Now that makes things much clearer. So how do you install such a thing? Now that makes things much clearer. So how do you install such a thing?
Ligne 33: Ligne 45:
  
 pip install pipx** pip install pipx**
 +
 +Il est étroitement lié à pip. En fait, il utilise pip, mais se concentre sur l'installation et la gestion de paquets Python qui peuvent être exécutés à partir de la ligne de commande directement en tant qu'applications ».
 +
 +En fait, si vous creusez un peu plus, vous trouverez cette déclaration : « pipx est un installeur de paquets spécialisé. Il ne peut être utilisé que pour installer des paquets avec des points d'entrée en ligne de commande. »
 +
 +Voilà qui rend les choses beaucoup plus claires. Alors, comment installer une telle chose ?
 +
 +Il y a deux façons d'installer pipx sur une machine Linux. La première est via apt, et l'autre est via (devinez quoi) pip.
 +
 +Nous allons donc commencer par la méthode apt. En supposant que vous utilisiez Ubuntu 23.04 ou une version supérieure (ou une distro basée sur cette dernière) :
 +
 +sudo apt update
 +
 +sudo apt install pipx
 +
 +pipx ensurepath
 +
 +sudo pipx ensurepath --global # optionnel pour permettre les actions pipx avec l'argument --global
 +
 +Cependant, si vous voulez l'installer via pip(3) :
 +
 +pip install pipx
  
  
Ligne 55: Ligne 89:
             ...             ...
 Install and execute apps from Python packages.** Install and execute apps from Python packages.**
 +
 +Vous pouvez exécuter les deux dernières lignes de la section apt install ci-dessus, après l'avoir installé via pip - pour vous assurer que pipx est disponible à partir de n'importe quel endroit de votre système.
 +
 +pipx ensurepath
 +
 +sudo pipx ensurepath --global # optionnel pour autoriser les actions pipx avec l'argument --global
 +
 +Ok, c'est installé. Et maintenant ?
 +
 +Nous allons voir quelques options de la ligne de commande pour nous aider.
 +
 +Si vous ne savez pas quoi faire, vous pouvez toujours demander de l'aide (help) :
 +
 +pipx -h
 +
 +~/Desktop$ pipx -h
 +usage: pipx [-h] [--version]
 +
 +{install,inject,upgrade,upgrade-all,uninstall,uninstall-all,reinstall,reinstall-all,list,run,runpip,ensurepath,completions}
 +            ...
 +Install and execute apps from Python packages.
 +
  
 **Actually, I’m breaking the terminal output here to save space (more shown on the next page, top right). **Actually, I’m breaking the terminal output here to save space (more shown on the next page, top right).
Ligne 65: Ligne 121:
   installed package pycowsay 2.0.3, Python 3.10.3   installed package pycowsay 2.0.3, Python 3.10.3
   These apps are now globally available   These apps are now globally available
 +    - pycowsay done!
 +
 +Now that you have something installed, let’s try doing a list. **
 +
 +**greg@Earth2:~/Desktop$ pipx list
 +venvs are in /home/greg/.local/pipx/venvs
 +apps are exposed on your $PATH at /home/greg/.local/bin
 +   package pycowsay 0.0.0.2, installed using Python 3.10.12
     - pycowsay     - pycowsay
-done!+    - ** 
 +     
 +En fait, j'interromps ici la sortie du terminal pour gagner de la place (plus d'informations sur la page suivante, en haut à droite). 
 + 
 +Et ça continue, alors je vais m'arrêter là. Les commandes importantes (du moins pour moi) sont list, install et uninstall. 
 + 
 +Installons donc quelque chose. Nous utiliserons le stupide programme pycowsay comme exemple. 
 + 
 +>> pipx install pycowsay 
 +  installed package pycowsay 2.0.3, Python 3.10.3 
 +  These apps are now globally available 
 +    - pycowsay done!
  
-Now that you have something installedlet’s try doing a list+Maintenant que vous avez installé quelque choseessayons de faire une liste.
  
 greg@Earth2:~/Desktop$ pipx list greg@Earth2:~/Desktop$ pipx list
Ligne 74: Ligne 149:
 apps are exposed on your $PATH at /home/greg/.local/bin apps are exposed on your $PATH at /home/greg/.local/bin
    package pycowsay 0.0.0.2, installed using Python 3.10.12    package pycowsay 0.0.0.2, installed using Python 3.10.12
-    - pycowsay**+    - pycowsay
     -      - 
 +
  
 **Now, we can run the pycowsay program without calling Python directly or even using the .py extension. **Now, we can run the pycowsay program without calling Python directly or even using the .py extension.
  
 greg@Earth2:~/Desktop$ pycowsay "Howdy fellow beings!  Good to see you again!" greg@Earth2:~/Desktop$ pycowsay "Howdy fellow beings!  Good to see you again!"
 +<nowiki>
  ---------------------------  ---------------------------
 < Howdy fellow beings!  Good to see you again! > < Howdy fellow beings!  Good to see you again! >
Ligne 88: Ligne 164:
        (__)\       )\/\        (__)\       )\/\
            ||----w |            ||----w |
-           ||     ||+           ||     ||</nowiki>
  
 greg@Earth2:~/Desktop$ greg@Earth2:~/Desktop$
Ligne 100: Ligne 176:
 Now I’ve already installed pycowsay into pipx, so it will complain at me just a little bit, but will still download and run it.** Now I’ve already installed pycowsay into pipx, so it will complain at me just a little bit, but will still download and run it.**
  
-**pycowsay is already on your PATH and installed at /home/greg/.local/bin/pycowsay. Downloading and running anyway.+Maintenant, nous pouvons exécuter le programme pycowsay sans appeler Python directement ni même utiliser l'extension .py.
  
 +greg@Earth2:~/Desktop$ pycowsay "Chers amis !  Heureux de vous revoir !"
 +<nowiki>
 + ---------------------------
 +< Chers amis !  Heureux de vous revoir ! >
 + ---------------------------
 +     ^__^
 +    \  (oo)\_______
 +       (__)\       )\/\
 +           ||----w |
 +           ||     ||</nowiki>
 +           
 +greg@Earth2:~/Desktop$
 +
 +Comme je l'ai dit. C'est un programme idiot.  Mais c'est un bon test.
 +
 +Une autre caractéristique de pipx est qu'il peut télécharger et exécuter une application dans un environnement virtuel temporaire sans installer l'application. Vous pouvez utiliser la commande pipx run :
 +
 +greg@Earth2:~/Desktop$ pipx run pycowsay moo
 +
 +J'ai déjà installé pycowsay dans pipx, il va donc se plaindre un peu, mais il va quand même le télécharger et l'exécuter.
 +
 +
 +**pycowsay is already on your PATH and installed at /home/greg/.local/bin/pycowsay. Downloading and running anyway.
 +<nowiki>
   ---   ---
 < moo > < moo >
Ligne 109: Ligne 209:
        (__)\       )\/\        (__)\       )\/\
            ||----w |            ||----w |
-           ||     ||+           ||     ||</nowiki>
  
 What happens if you try to install a program that doesn’t have an entry point, or has a name that doesn’t match the actual filename? The esptool package is a good example of this. I use this package to flash some of the esp microcontrollers that I have. What happens if you try to install a program that doesn’t have an entry point, or has a name that doesn’t match the actual filename? The esptool package is a good example of this. I use this package to flash some of the esp microcontrollers that I have.
Ligne 118: Ligne 218:
  
 To get around that, we can use the --spec option with the name of the program.** To get around that, we can use the --spec option with the name of the program.**
 +
 +pycowsay is already on your PATH and installed at /home/greg/.local/bin/pycowsay. Downloading and running anyway.
 +<nowiki>
 +  ---
 +< moo >
 +  ---
 +     ^__^
 +    \  (oo)\_______
 +       (__)\       )\/\
 +           ||----w |
 +           ||     ||</nowiki>
 +
 +Que se passe-t-il si vous essayez d'installer un programme qui n'a pas de point d'entrée, ou dont le nom ne correspond pas au nom du fichier ? Le paquet esptool en est un bon exemple. Je l'utilise pour flasher certains de mes microcontrôleurs esp.
 +
 +Tout d'abord, nous allons essayer de lancer le paquet normalement, mais sans l'installer (page suivante, en haut à droite).
 +
 +Vous pouvez voir qu'il y a quatre applications différentes qui semblent être associées au nom « esptool ».  
 +
 +Pour contourner ce problème, nous pouvons utiliser l'option --spec avec le nom du programme.
  
  
Ligne 124: Ligne 243:
  
 Again, I’ve already got it loaded, but pipx will download the latest version and then run it in a virtual environment for me. There is a LOT of terminal output so I’ll just pick some to show that it really runs (next page, bottom right). Again, I’ve already got it loaded, but pipx will download the latest version and then run it in a virtual environment for me. There is a LOT of terminal output so I’ll just pick some to show that it really runs (next page, bottom right).
- 
  
 There are SO many reasons to give pipx a try. There are SO many reasons to give pipx a try.
Ligne 132: Ligne 250:
 Until next time, as always; stay safe, healthy, positive and creative!** Until next time, as always; stay safe, healthy, positive and creative!**
  
 +greg@Earth2:~/Desktop$ pipx run --spec esptool esptool.py
 +esptool.py is already on your PATH and installed at /home/greg/.pyenv/shims/esptool.py. Downloading and running anyway.
 +
 +Encore une fois, je l'ai déjà chargé, mais pipx téléchargera la dernière version et l'exécutera dans un environnement virtuel pour moi. La sortie du terminal est ÉNORME, alors je vais en choisir quelques lignes pour montrer que ça marche vraiment (page suivante, en bas à droite).
 +
 +Il y a TANT de raisons d'essayer pipx.
 +
 +Encore une fois, leur site Web est https://github.com/pypa/pipx.
 +
 +Jusqu'à la prochaine fois, comme toujours, restez en sécurité, en bonne santé, positifs et créatifs !
 +
 +
 +//p. 23, encart, lignes en noir :
 +
 +** And the terminal output continues…**
 +Et la sortie sur le terminal se poursuit :
 +
 +**[EDITOR SNIPPED IT HERE]**
 +[L'ÉDITEUR A COUPÉ LA SORTIE ICI]
  
issue206/python.1719815221.txt.gz · Dernière modification : 2024/07/01 08:27 de d52fr