15 points par GN⁺ 2025-01-13 | 5 commentaires | Partager sur WhatsApp
  • Les performances ou la compatibilité avec Python ne sont pas ce qui distingue uv. uv respecte les PEP et peut être recommandé comme gestionnaire de paquets pour Python. Mais sa fonctionnalité la plus surprenante est ailleurs.
  • Lorsqu’on fait du scripting ad hoc en Python 3.12, il faut souvent ajouter des dépendances comme Pandas. La méthode habituelle est la suivante :
    • exécuter pip install pandas pour modifier l’environnement global, ou
    • créer un environnement virtuel, exécuter pip install pandas, activer l’environnement virtuel, puis lancer Python.
  • S’il faut une autre version de Python, il faut installer la version avec pyenv et la définir localement. Dans le pire des cas :
    1. pyenv install 3.12
    2. pyenv local 3.12
    3. python -m venv .venv
    4. source .venv/bin/activate
    5. pip install pandas
    6. python
  • Avec uv, tout cela se fait en une seule ligne de commande :
    • uv run --python 3.12 --with pandas python
    • Facile à retenir, et sans laisser de traces. Bon scripting !

5 commentaires

 
tribela 2025-01-15

J’utilise encore poetry, mais il va peut-être être temps de passer à autre chose progressivement. Ce sera sans doute aussi la fin de virtualenv wrapper.

 
roxie 2025-01-14

On dirait vraiment qu'il est temps de laisser tomber pip.

 
dongho42 2025-01-14

J’utilise uv avec satisfaction à tous points de vue, sauf qu’à chaque init, il traîne plein de choses inutiles avec lui.

 
GN⁺ 2025-01-13
Avis Hacker News
  • Une personne dit beaucoup aimer le gestionnaire de paquets uv et espère qu’il s’imposera comme standard de la communauté. C’est notamment un outil facile à recommander aux nouveaux utilisateurs.

  • uv prend en charge les dépendances de scripts inline de la PEP 723, ce qui permet une utilisation plus propre.

  • En tant que développeur NodeJS, quelqu’un se dit surpris que les problèmes de configuration d’environnement de Python ne soient toujours pas résolus. Node n’est pas parfait non plus, mais il n’y a pas d’inquiétude à modifier l’environnement global.

  • Il n’est pas nécessaire d’activer virtualenv, et il est possible de créer directement un environnement virtuel sans configurer l’interpréteur avec pyenv.

  • Certains trouvent gênant que tant de fonctionnalités soient regroupées dans un seul outil d’exécution chez uv. Pouvoir activer un venv puis exécuter plusieurs fois un programme est pratique.

  • uv, avec notamment la commande uvx, permet d’exécuter des scripts Python sans installation manuelle.

    • Exemple : uvx --from 'huggingface_hub[cli]' huggingface-cli
  • Quelqu’un dit aimer uv et vouloir l’essayer bientôt, mais ne pas comprendre l’idée principale de l’article. Avec pyenv et poetry, on peut aussi gérer des dépendances locales.

  • En présence d’autres dépendances binaires, utiliser Nix avec virtualenv + pip-tools peut être un meilleur choix.

  • Une personne estime qu’il faut d’abord activer l’environnement virtuel dans le « bon chemin », puis installer pandas.