Python uv — Modèles courants : dépendances, uvx et exécution de scripts
Cet article se concentre sur les cinq tâches de développement quotidiennes les plus courantes, avec des modèles pratiques utilisables tout de suite. Maîtrisez ces modèles et vous couvrirez 80 % des cas — les 20 % restants sont pour la partie avancée.
Modèle 1 : Ajouter et retirer des dépendances
# Ajouter une dépendance
uv add requests
uv add "requests>=2.31,<3" # avec contraintes de version
# Dépendances de dev (tests, lint, typage)
uv add --dev pytest ruff mypy
# Retirer
uv remove requestsuv add met à jour en même temps pyproject.toml, uv.lock et .venv — une seule commande suffit.
Modèle 2 : uv run pour exécuter les commandes du projet
Pour les scripts, CLI et tests du projet, utilisez toujours uv run :
uv run python main.py
uv run pytest
uv run ruff check .
uv run mypy src/Pas d'activation, pas de risque de mauvais Python.
Modèle 3 : uvx pour lancer des outils CLI autonomes
Vous voulez lancer un outil temporairement sans l'ajouter au projet ? Utilisez uvx (équivalent à uv tool run) :
# À la demande, jetable
uvx ruff check .
uvx pycowsay "hello uv"
# Fixer une version
uvx ruff@0.5.0 check
# Quand le nom du paquet et la commande diffèrent
uvx --from httpie http https://httpbin.org/getuvx crée un environnement temporaire pour exécuter l'outil sans polluer le projet — comme goûter sans acheter le paquet. Idéal pour les « je veux juste essayer ».
Modèle 4 : Dépendances inline pour scripts (PEP 723)
Un seul script, pas envie de créer un projet ? Utilisez les métadonnées inline :
# /// script
# dependencies = ["requests", "rich"]
# ///
import requests
from rich.pretty import pprint
r = requests.get("https://api.github.com/zen")
pprint(r.text)uv add --script fetch.py requests rich
uv run fetch.pyOu en une ligne :
uv run --with requests --with rich fetch.pyModèle 5 : Migrer depuis requirements.txt
Un projet existant avec un requirements.txt ? Intégrez-le directement :
uv add -r requirements.txtOu compiler vers un lockfile puis synchroniser :
uv pip compile requirements.in -o requirements.txt
uv pip sync requirements.txtAprès migration, considérez pyproject.toml comme la source de vérité — requirements.txt peut servir de format d'export.
Suite
Une fois les modèles quotidiens en main, si vous voulez tester le changement de version Python, l'interface pip ou un setup monorepo : 👉 Avancé