Maison >développement back-end >Tutoriel Python >Présentation d'uv : gestionnaire de packages Python de nouvelle génération
L'évolution de Python a été étroitement liée aux progrès de la gestion des packages, des installations manuelles aux outils comme pip et poésie. Cependant, à mesure que les projets deviennent de plus en plus complexes, les outils traditionnels manquent souvent de rapidité et d'efficacité.
uv est un package Python de pointe et un gestionnaire de projet construit avec Rust, qui vise à changer cela. En combinant les fonctionnalités d'outils tels que pip, poésie et virtualenv, uv rationalise les tâches telles que la gestion des dépendances, l'exécution de scripts et la création de projets, le tout avec des performances exceptionnelles. Sa compatibilité transparente avec les commandes pip, ne nécessitant aucune courbe d'apprentissage supplémentaire.
Dans ce tutoriel, nous explorerons comment installer uv et tirer le meilleur parti de ses fonctionnalités. De la configuration d'un projet et de la gestion des dépendances à l'exécution de scripts et à l'exploitation de son interface pip améliorée.
Pip est un système de gestion de packages largement utilisé écrit en Python, conçu pour installer et gérer des packages logiciels. Cependant, malgré sa popularité, il est souvent critiqué pour être l’un des outils de gestion de packages les plus lents pour Python. Les plaintes concernant la « lenteur de l'installation de pip » sont si courantes qu'elles apparaissent fréquemment dans les forums et les fils de discussion des développeurs.
Un inconvénient important de pip est sa sensibilité aux odeurs de dépendance, qui se produisent lorsque les fichiers de configuration des dépendances sont mal écrits ou mal entretenus. Ces problèmes peuvent entraîner de graves conséquences, telles qu'une complexité accrue et une maintenabilité réduite des projets.
Une autre limitation de pip est son incapacité à faire correspondre systématiquement et avec précision le code Python lors de la restauration des environnements d'exécution. Cette inadéquation peut entraîner un faible taux de réussite pour l'inférence de dépendance, ce qui rend difficile la recréation fiable des environnements de projet.
uv est un gestionnaire de packages Python moderne et performant, développé par les créateurs de ruff et écrit en Rust. Conçu pour remplacer les outils pip et pip, il offre une vitesse et une compatibilité exceptionnelles avec les outils existants.
Les fonctionnalités clés incluent la prise en charge des installations modifiables, des dépendances Git et URL, des fichiers de contraintes, des index personnalisés, etc. Les environnements virtuels conformes aux normes d'uv fonctionnent de manière transparente avec d'autres outils, évitant ainsi le verrouillage ou la personnalisation. Il est multiplateforme, prend en charge Linux, Windows et macOS, et a été largement testé par rapport à l'index PyPI.
En se concentrant sur la simplicité, la vitesse et la fiabilité, uv résout les problèmes courants des développeurs tels que les installations lentes, les conflits de versions et la gestion complexe des dépendances, offrant une solution intuitive pour le développement Python moderne.
source : https://blog.kusho.ai/uv-pip-killer-or-yet-another-package-manager
Résoudre (à gauche) et installer (à droite) les dépendances à l'aide d'un cache chaud, simuler le processus de recréation d'un environnement virtuel ou ajouter une nouvelle dépendance à un projet existant.
source : https://blog.kusho.ai/uv-pip-killer-or-yet-another-package-manager
La résolution (à gauche) et l'installation (à droite) des dépendances avec un cache froid simulent l'exécution dans un environnement propre. Sans mise en cache, uv est 8 à 10 fois plus rapide que pip et pip-tools, et avec un cache chaud, il atteint des vitesses 80 à 115 fois plus rapides.
source : https://blog.kusho.ai/uv-pip-killer-or-yet-another-package-manager
Création d'un environnement virtuel avec (à gauche) et sans (à droite) des packages de départ comme pip et setuptools. uv est environ 80 fois plus rapide que python -m venv et 7 fois plus rapide que virtualenv, tout en fonctionnant indépendamment de Python.
L'installation d'uv est rapide et simple. Vous pouvez opter pour des installateurs autonomes ou l'installer directement depuis PyPI.
# On macOS and Linux. curl -LsSf https://astral.sh/uv/install.sh | sh # On Windows. powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # With pip. pip install uv # With pipx. pipx install uv # With Homebrew. brew install uv # With Pacman. pacman -S uv
Avant d'utiliser uv, nous devons ajouter le chemin uv aux variables d'environnement.
Pour Linux et macOS, modifiez la variable d'environnement PATH à l'aide de la commande suivante dans le terminal :
export PATH="$HOME/.local/bin:$PATH"
Pour Windows, pour ajouter un répertoire à la variable d'environnement PATH pour l'utilisateur et le système sous Windows, recherchez Variables d'environnement dans le panneau de recherche. Sous Variables utilisateur / Variables système, sélectionnez la variable Chemin, cliquez sur Modifier, puis cliquez sur Nouveau et ajoutez le chemin souhaité.
%USERPROFILE%\.local\bin
Après l'installation, exécutez la commande uv dans le terminal pour vérifier qu'elle a été correctement installée.
Créer un environnement virtuel avec uv est simple et direct. Utilisez la commande suivante, ainsi que le nom de l'environnement souhaité, pour le créer.
uv venv
# On macOS and Linux. source .venv/bin/activate # On Windows. .venv\Scripts\activate
L'installation des packages dans l'environnement virtuel suit un processus familier. Les différentes méthodes d'installation sont indiquées ci-dessous.
uv pip install flask # Install Flask. uv pip install -r requirements.txt # Install from a requirements.txt file. uv pip install -e . # Install current project in editable mode. uv pip install "package @ ." # Install current project from disk uv pip install "flask[dotenv]" # Install Flask with "dotenv" extra.
Pour synchroniser les dépendances verrouillées avec l'environnement virtuel, utilisez la commande suivante :
uv pip sync requirements.txt # Install dependencies from a requirements.txt file.
uv prend en charge une variété d'arguments de ligne de commande similaires à ceux des outils existants, notamment -r conditions.txt, -c contraintes.txt, -e ., --index-url, et plus encore.
Explorons quelques commandes liées au projet avec uv. Commencez par initialiser un projet Python nommé « sample-project ».
# On macOS and Linux. curl -LsSf https://astral.sh/uv/install.sh | sh # On Windows. powershell -c "irm https://astral.sh/uv/install.ps1 | iex" # With pip. pip install uv # With pipx. pipx install uv # With Homebrew. brew install uv # With Pacman. pacman -S uv
Accédez au répertoire d'exemple de projet. uv initialise le projet avec des fichiers essentiels tels que app.py, exigences.txt, README.md, etc.
Utilisez la commande run pour exécuter l'exemple de fichier Python. Ce processus crée d'abord le dossier de l'environnement virtuel, puis exécute le fichier Python.
export PATH="$HOME/.local/bin:$PATH"
Ajoutez Flask aux dépendances de votre projet.
%USERPROFILE%\.local\bin
Créez-en un nouveau et écrivez le code suivant.
uv venv
Utilisez la commande uv run pour exécuter l'application.
# On macOS and Linux. source .venv/bin/activate # On Windows. .venv\Scripts\activate
Ouvrez un navigateur ou utilisez un outil comme curl ou Postman pour envoyer une requête GET.
L'utilisation de uv pour installer Python est facultative, car elle fonctionne de manière transparente avec les installations Python existantes. Cependant, si l'installation de Python via uv est préférable, cela peut être fait avec une commande simple :
uv pip install flask # Install Flask. uv pip install -r requirements.txt # Install from a requirements.txt file. uv pip install -e . # Install current project in editable mode. uv pip install "package @ ." # Install current project from disk uv pip install "flask[dotenv]" # Install Flask with "dotenv" extra.
Cette approche est souvent plus pratique et fiable que les méthodes traditionnelles, car elle évite d'avoir à gérer des référentiels ou à télécharger des programmes d'installation. Exécutez simplement la commande et la configuration est prête à être utilisée.
Les outils CLI peuvent être installés et utilisés avec la commande uv. Par exemple, les outils huggingface_hub peuvent être installés pour permettre d'extraire et de transférer des fichiers vers les référentiels Hugging Face.
uv pip sync requirements.txt # Install dependencies from a requirements.txt file.
uv init sample-project
Voici une aide-mémoire rapide pour effectuer des opérations courantes avec uv :
Même si uv offre une solution rapide et efficace pour la gestion des packages Python, elle présente certaines limites :
Merci d'avoir lu cet article !!
Merci Gowri M Bhatt d'avoir révisé le contenu.
Si vous avez apprécié cet article, veuillez cliquer sur le bouton cœur ♥ et partager pour aider les autres à le trouver !
uv - Un package Python extrêmement rapide et un gestionnaire de projet, écrit en Rust | docs.astral.sh
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!