Python

uv en 2026 : gérer les environnements Python sans pip ni virtualenv

Découvrez uv pour installer Python, isoler des projets et verrouiller les dépendances plus vite, avec une méthode simple en terminal.

Par Julien Martel 8 min de lecture
uv en 2026 : gérer les environnements Python sans pip ni virtualenv

uv peut remplacer pip + virtualenv pour initialiser un projet Python, isoler ses dépendances et reproduire son environnement. Déclarez les dépendances dans pyproject.toml, versionnez uv.lock et synchronisez l’environnement avec uv.

Développé par Astral, uv gère aussi les versions de Python, les outils en ligne de commande et les scripts autonomes. Il reste compatible avec l’écosystème Python existant.

Initialiser et gérer un projet

Dans un projet uv, pyproject.toml décrit les dépendances souhaitées, tandis que uv.lock enregistre la résolution concrète, y compris les dépendances indirectes. L’environnement local .venv est créé et maintenu par uv ; ne l’ajoutez normalement pas à Git.

  • uv init crée la structure initiale du projet.
  • uv add ajoute une dépendance, met à jour le verrou et synchronise l’environnement.
  • uv sync aligne l’environnement local sur le verrou.
  • uv run exécute une commande dans l’environnement du projet, sans activation manuelle.

La documentation officielle d’installation de uv présente les options disponibles pour Linux, macOS, Windows et plusieurs gestionnaires de paquets. Sous Linux ou macOS, Astral propose notamment curl -LsSf https://astral.sh/uv/install.sh | sh ; sur un serveur, consultez ce script ou utilisez le mécanisme de déploiement validé par votre équipe.

Créez un répertoire, puis lancez uv init. Ajoutez ensuite une bibliothèque avec uv add nom-du-paquet ; pour une dépendance de développement, utilisez un groupe adapté, par exemple uv add --group dev pytest.

Après un clonage, un changement de branche ou une modification du verrou, lancez uv sync. Utilisez uv lock --upgrade seulement lorsque vous choisissez de rechercher des versions plus récentes, puis testez le nouveau verrou avant de le déployer.

Si la version de Python requise n’est pas disponible, uv peut l’installer avec uv python install. Vérifiez d’abord la version attendue par l’application avant de la fixer dans la configuration du projet.

Exécuter des commandes et des scripts

L’activation de .venv n’est généralement pas nécessaire : uv run python script.py utilise l’environnement du projet. Cela limite le risque d’exécuter le Python système ou un paquet installé globalement.

Pour un outil ponctuel, uvx peut lancer un paquet sans installation persistante. Pour un outil utilisé durablement, documentez sa version et son mode d’installation.

uv prend aussi en charge les métadonnées de scripts définies par la PEP 723. Un script peut alors déclarer ses dépendances et être lancé avec uv run, sans devenir un projet complet.

Déployer en CI et sur un serveur

En CI, installez uv par un mécanisme maîtrisé, puis lancez uv sync --locked avant les tests. La commande échoue si le verrou n’est plus cohérent avec pyproject.toml, au lieu de résoudre silencieusement de nouvelles versions.

Le projet setup-uv fournit une action GitHub Actions maintenue par l’écosystème uv. Quel que soit l’outil de CI, restaurez le dépôt, synchronisez le verrou, puis exécutez les commandes avec uv run.

Sur un serveur, déployez le code avec uv.lock et utilisez uv sync --locked --no-dev si les dépendances de développement ne sont pas nécessaires. Exécutez ensuite le processus avec uv run ou avec l’interpréteur du .venv, selon la configuration du service.

Commentaires · Aucun commentaire pour l'instant

Soyez le premier à réagir.

Laisser un commentaire