Un nuevo administrador de paquetes de Python
Administre proyectos de Python, ejecute scripts y herramientas, maneje dependencias e instale paquetes, todo con la herramienta uv.
uv es un administrador de proyectos y paquetes de Python rápido, escrito en Rust. Se puede utilizar en lugar de las herramientas pip, pip-tools, pipx, poesía, pyenv y virtualenv. uv proporciona un ecosistema completo para administrar proyectos de Python, lo que le permite agregar dependencias, administrar herramientas, ejecutar scripts y más. En resumen, desde la instalación de Python hasta la creación de aplicaciones Python, uv hace que el proceso sea más rápido y sencillo. Una de las mejores características de uv es su compatibilidad con la herramienta pip. Esto significa que solo necesita agregar "uv" delante de su comando y todos sus comandos anteriores funcionarán de inmediato.
En este tutorial, aprenderemos cómo instalar uv y exploraremos sus diversas funciones. Crearemos un proyecto, agregaremos dependencias, ejecutaremos scripts, usaremos herramientas y también aprenderemos sobre su interfaz pip.
Instalación de rayos ultravioleta
Puede ejecutar el siguiente comando en la terminal para instalar uv en Linux y MacOS.
$ curl -LsSf https://astral.sh/uv/install.sh | sh
Para Windows, intente utilizar la herramienta Winget.
$ winget install --id=astral-sh.uv -e
Es tan flexible que puedes instalarlo usando la interfaz pip.
$ pip install uv
Una vez completada la instalación, ejecute el comando `uv` en la terminal para verificar si está instalado correctamente.
$ uv
Proyectos
Ahora inicializaremos el proyecto Python llamado "KDN".
$ uv init KDN
Cambie el directorio al proyecto.
$ cd /datasets/_deepnote_work/KDN
Como puede ver, el proyecto tiene todos los archivos necesarios.
$ uv run hello.py
Como podemos ver, primero creó la carpeta del entorno virtual y luego ejecutó el archivo Python.
Creating virtual environment at: .venv
Hello from kdn!
Continuaremos con la instalación y adición de 'pandas' como dependencia del proyecto.
$ uv add 'pandas==2.2.3'
Guiones
Ahora aprenderemos cómo ejecutar archivos Python más fácilmente con uv. Primero, crearemos un archivo Python de secuencias de comandos web simple con el código necesario.
$ 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
Luego agregaremos las dependencias al archivo de secuencias de comandos web.
$ uv add --script webscrape.py "requests" "beautifulsoup4"
Estos dependientes se agregarán al archivo como comentario y solo serán leídos por la herramienta uv.
Cuando ejecute el archivo Python, primero instalará los paquetes de Python y luego ejecutará el código.
$ uv run webscrape.py
Producción :
Installed 7 packages in 18ms
Webpage Title: Abid Ali Awan - KDnuggets
Esto es bastante útil si trabaja fuera del proyecto y solo tiene unos pocos archivos Python para ejecutar.
Herramientas
Podemos instalar y usar herramientas CLI usando el comando `uv`. En nuestro caso, estamos instalando las herramientas `huggingface_hub`, que nos permiten extraer y enviar archivos desde los repositorios de Hugging Face.
$ uv tool install huggingface_hub
Para ver todas las herramientas instaladas, podemos ejecutar el siguiente comando.
$ uv tool list
Hemos instalado la herramienta, pero como puede ver, tiene un nombre diferente, "huggingface-cli", para ejecutar el comando.
huggingface-hub v0.25.1
- huggingface-cli
Para ejecutar la herramienta con un nombre diferente al nombre del paquete, usaremos el indicador `--from` y le proporcionaremos el nombre del paquete y el nombre de la herramienta. Luego, iniciaremos sesión en Hugging Face Hub usando la clave API.
$ uv tool run --from huggingface-hub huggingface-cli login --token $HUGGINGFACEHUB_API_TOKEN
La herramienta funciona.
Your token has been saved to /root/.cache/huggingface/token
Login successful
La interfaz pip
uv es totalmente compatible con la herramienta pip, lo que significa que podemos ejecutar todos los comandos pip usando la herramienta uv. Todo lo que tienes que hacer es agregar `uv` al comienzo de tu script.
Instalaremos el paquete `controlflow` usando la interfaz pip.
$ uv pip install controlflow -q
Luego, veremos su descripción usando el comando `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:
Al final, crearemos el `requirements.txt` usando el comando congelar.
$ uv pip freeze >> requirements.txt
Pensamientos finales
uv es adecuado para principiantes, proyectos de cartera y proyectos listos para producción. Se está volviendo cada vez más popular, y muchas herramientas de orquestación reemplazan pip con uv y alientan a los usuarios a cambiar a esta herramienta superior.
En mi opinión, uv es mejor que pip cuando se trata de proyectos grandes con cientos de dependencias. Sin embargo, para proyectos pequeños, creo que la herramienta pip sigue siendo superior en términos de velocidad y eficiencia.
En este tutorial, hemos aprendido sobre la nueva herramienta de gestión de proyectos Python. También hemos explorado sus características con ejemplos de código como Proyecto, Scripts, Herramientas y la interfaz Pip.