481 palabras
2 minutos
uv vs pyenv vs pipx vs conda vs python3 -m venv

Tabla comparativa#

Herramienta Función Principal Gestiona Versiones Python Gestiona Paquetes No-Python Velocidad Uso Recomendado
python3 -m venv Aislamiento básico No (usa la del sistema) No Lenta Sistemas restringidos o scripts simples.
pyenv Gestión de versiones No N/A Cambiar versiones de Python de forma global.
pipx Instalación de Apps No No Media Instalar herramientas CLI
conda Entornos científicos Muy Lenta Ciencia de datos (Legacy/Tradicional).
uv Todo en uno (Python) No Extrema (Rust) Desarrollo de software moderno y rápido.
pixi Todo en uno (Multi-lenguaje) Alta (Rust) Proyectos con dependencias C++, CUDA o R.

Ventajas#

  • Aislamiento de dependencias: Evitan conflictos entre las bibliotecas.
  • Limpieza del sistema: Los paquetes se instalan localmente en la carpeta del entorno, manteniendo limpia la instalación global de Python.
  • Portabilidad y replicabilidad: Facilitan compartir tu proyecto. Puedes generar un archivo de requisitos (requirements.txt) para que otros desarrolladores puedan replicar exactamente el mismo entorno de trabajo.

1. UV#

Esta es la opción recomendada

Instalación de UV#

Terminal window
curl -LsSf https://astral.sh/uv/install.sh | sh
# source $HOME/.local/bin/env (sh, bash, zsh)
# source $HOME/.local/bin/env.fish (fish)

Ejemplo Frida y Objection#

Terminal window
# Creamos una carpeta para guardar el entorno
mkdir frida_16.5.2_uv && cd frida_16.5.2_uv
# Iniciamos el entorno
uv venv
# Activamos el entorno
source .venv/bin/activate
# Instalamos las herramientas que necesitamos
uv pip install frida==16.5.2 frida-tools objection==1.11.0
# Corroboramos que todo funcione
frida --version
# 16.5.2
# Ejemplo un script
# frida -U -f com.app.app -l script.js
# Salimos de nuestro entorno
deactivate

Ejemplo xcat con una versión especifica de Python#

Terminal window
# Creamos una carpeta para guardar el entorno
mkdir xcat_uv && cd xcat_uv
# Iniciamos el entorno
uv venv --python 3.10
# Activamos el entorno
source .venv/bin/activate
# Instalamos las herramientas que necesitamos
uv pip install xcat
# Corroboramos que todo funcione
xcat --version
# Salimos de nuestro entorno
deactivate

Saber que hay instalado en el entorno virtual#

Terminal window
# Desde la carpeta en que vive el entorno
uv pip tree

Actualizaciones#

Terminal window
uv self update

Correr en un entorno temporal#

  • Por ejemplo un script de Frida
Terminal window
VERSION=16.5.2
uv run --with frida==16.5.2 --with frida-tools --with objection==1.11.0 frida -U -f com.app.app -l script.js

2. Python Virtual Environment (venv)#

(MEJOR USA UV) Instalación de python3-venv#

Terminal window
# sudo apt install python3-venv python3-pip -y

(MEJOR USA UV) Ejemplo Frida y Objection#

Terminal window
# Creamos una carpeta para guardar el entorno
# mkdir frida_16.5.2_venv && cd frida_16.5.2_venv
# Iniciamos el entorno
# python -m venv .venv
# Activamos el entorno
# source .venv/bin/activate
# Instalamos las herramientas que necesitamos
# pip install frida==16.5.2 frida-tools objection==1.11.0
# Corroboramos que todo funcione
# frida --version
# 16.5.2
# (MEJOR USA UV) Ejemplo un script
# frida -U -f com.app.app -l script.js
# Salimos de nuestro entorno
# deactivate
Nota final

¡Gracias por terminar de leer este artículo! uwur

— El Capitán

¿Tienes alguna duda o te gustaría comentar algo sobre este artículo?

Puedes encontrarme en:

uv vs pyenv vs pipx vs conda vs python3 -m venv
https://elcaza.github.io/posts/sysadmin/uv_pyenv_pipx_conda/
Autor
El Capitán
Publicado el
2026-01-03
Licencia
CC BY-NC-SA 4.0