Recherche de site Web

Un nouveau gestionnaire de packages Python


Gérez des projets Python, exécutez des scripts et des outils, gérez les dépendances et installez des packages, le tout avec l'outil uv.

uv est un package Python rapide et un gestionnaire de projet, écrit en Rust. Il peut être utilisé à la place des outils pip, pip-tools, pipx, poésie, pyenv et virtualenv. uv fournit un écosystème complet pour gérer les projets Python, vous permettant d'ajouter des dépendances, de gérer des outils, d'exécuter des scripts, etc. En bref, de l'installation de Python à la création d'applications Python, uv rend le processus plus rapide et plus facile. L'une des meilleures fonctionnalités d'uv est sa compatibilité avec l'outil pip. Cela signifie qu'il vous suffit d'ajouter "uv" devant votre commande et toutes vos commandes précédentes fonctionneront immédiatement. 

Dans ce tutoriel, nous allons apprendre à installer uv et explorer ses différentes fonctionnalités. Nous créerons un projet, ajouterons des dépendances, exécuterons des scripts, utiliserons des outils et découvrirons également son interface pip.

Installer UV

Vous pouvez exécuter la commande suivante dans le terminal pour installer uv sous Linux et MacOS.

$ curl -LsSf https://astral.sh/uv/install.sh | sh

Pour Windows, essayez d'utiliser l'outil Winget.

$ winget install --id=astral-sh.uv  -e

Il est si flexible que vous pouvez l'installer à l'aide de l'interface pip. 

$ pip install uv

Une fois l'installation terminée, exécutez la commande « uv » dans le terminal pour vérifier si elle est correctement installée.

$ uv

Projets

Nous allons maintenant initialiser le projet Python appelé « KDN ».

$ uv init KDN

Changez le répertoire du projet. 

$ cd /datasets/_deepnote_work/KDN

Comme vous pouvez le constater, le projet contient tous les fichiers nécessaires.

$ uv run hello.py

Comme nous pouvons le voir, il a d’abord créé le dossier de l’environnement virtuel, puis exécuté le fichier Python. 

Creating virtual environment at: .venv
Hello from kdn!

Nous allons procéder à l'installation et à l'ajout de « pandas » en tant que dépendance au projet. 

$ uv add 'pandas==2.2.3'

Scripts

Nous allons maintenant apprendre à exécuter un fichier Python plus facilement avec uv. Tout d’abord, nous allons créer un simple fichier Python de script Web avec le code nécessaire.

$ echo "import requests; from bs4 import BeautifulSoup; response = requests.get('https://www.kdnuggets.com/author/abidali-awan'); soup = BeautifulSoup(response.content, 'html.parser'); print('Webpage Title:', soup.title.string)" > webscrape.py

Nous ajouterons ensuite les dépendances au fichier de script Web.

$ uv add --script webscrape.py "requests" "beautifulsoup4"

Ces dépendances seront ajoutées au fichier en commentaire et ne seront lues que par l'outil uv.

Lorsque vous exécutez le fichier Python, il installera d'abord les packages Python, puis exécutera le code. 

$ uv run webscrape.py

Sortir :

Installed 7 packages in 18ms
Webpage Title:   Abid Ali Awan - KDnuggets

Ceci est très utile si vous travaillez en dehors du projet et que vous n'avez que quelques fichiers Python à exécuter. 

Outils

Nous pouvons installer et utiliser les outils CLI à l'aide de la commande `uv`. Dans notre cas, nous installons les outils `huggingface_hub`, qui nous permettent d'extraire et de pousser des fichiers depuis les référentiels Hugging Face.

$ uv tool install huggingface_hub

Pour afficher tous les outils installés, nous pouvons exécuter la commande suivante.  

$ uv tool list

Nous avons installé l'outil, mais comme vous pouvez le constater, il porte un nom différent, « huggingface-cli », pour exécuter la commande.

huggingface-hub v0.25.1
- huggingface-cli

Pour exécuter l'outil avec un nom différent du nom du package, nous utiliserons l'indicateur `--from` et lui fournirons le nom du package et le nom de l'outil. Ensuite, nous nous connecterons à Hugging Face Hub à l’aide de la clé API. 

$ uv tool run --from huggingface-hub huggingface-cli login --token $HUGGINGFACEHUB_API_TOKEN

L'outil fonctionne. 

Your token has been saved to /root/.cache/huggingface/token
Login successful

L'interface pip

uv est entièrement compatible avec l'outil pip, ce qui signifie que nous pouvons exécuter toutes les commandes pip à l'aide de l'outil uv. Tout ce que vous avez à faire est d'ajouter « uv » au début de votre script. 

Nous installerons le package `controlflow` en utilisant l'interface pip.

$ uv pip install controlflow -q

Ensuite, nous visualiserons sa description à l'aide de la commande `show`. 

$ uv pip show controlflow
Name: controlflow
Version: 0.10.0
Location: /root/venv/lib/python3.9/site-packages
Requires: jinja2, langchain-anthropic, langchain-core, langchain-openai, markdownify, openai, prefect, pydantic-settings, textual, tiktoken, typer
Required-by:

À la fin, nous créerons le `requirements.txt` à l'aide de la commande freeze.

$ uv pip freeze >> requirements.txt

Pensées finales

uv convient aux débutants, aux projets de portfolio et aux projets prêts pour la production. Il devient de plus en plus populaire, de nombreux outils d'orchestration remplaçant pip par uv et encourageant les utilisateurs à passer à cet outil supérieur.

À mon avis, uv est meilleur que pip lorsqu'il s'agit de grands projets comportant des centaines de dépendances. Cependant, pour les petits projets, je pense que l'outil pip est toujours supérieur en termes de rapidité et d'efficacité.

Dans ce tutoriel, nous avons découvert le nouvel outil de gestion de projet Python. Nous avons également exploré ses fonctionnalités avec des exemples de code tels que Project, Scripts, Tools et l'interface Pip.