Un gestor de paquetes y proyectos de Python extremadamente rápido, escrito en Rust, que sustituye a pip, virtualenv, pyenv, pipx y más.
pex-tool/pex
Herramienta de Python que empaqueta aplicaciones y sus dependencias en archivos .pex ejecutables, similares a un virtualenv portable.
- Estrellas
- 4,230
- Forks
- 321
- Issues abiertos
- 58
- Último commit
- hace 3 horas
¿Qué es?
Pex genera archivos .pex (Python EXecutable), entornos de Python autocontenidos que se ejecutan como cualquier otro ejecutable. La idea amplía PEP 441 y busca que desplegar una aplicación de Python sea tan sencillo como copiar un archivo. Un solo archivo .pex puede incluir distribuciones específicas para varias plataformas, de modo que un mismo archivo pueda ejecutarse en distintos sistemas operativos.
El comando pex crea estos archivos a partir de requisitos indicados en la línea de comandos, de la salida de pip freeze o de los puntos de entrada console_scripts de un proyecto. También puede iniciar entornos efímeros; por ejemplo, permite ejecutar un script con Flask disponible sin crear un virtualenv persistente. Al crear el archivo, se pueden seleccionar intérpretes específicos, como PyPy.
Se puede instalar con pip. En el sitio de documentación del proyecto también se explica cómo usarlo e integrarlo en procesos de compilación con herramientas como Pants y Buck.
Funciones clave
- 01Crea entornos ejecutables de Python en un solo archivo a partir de dependencias o archivos de requisitos.
- 02Puede incluir distribuciones específicas para distintas plataformas para que un mismo archivo .pex se ejecute en varios sistemas operativos.
- 03Expone puntos de entrada console_scripts como ejecutables independientes.
- 04Permite iniciar entornos efímeros para hacer pruebas rápidas.
- 05Permite seleccionar un intérprete específico, como PyPy, al crear el archivo.
Casos de uso
- Distribuir una herramienta de línea de comandos o un servicio de Python como un solo archivo en servidores, sin necesidad de instalarlo por separado.
- Convertir un virtualenv funcional en un archivo portable usando como entrada la salida de pip freeze.
- Ejecutar rápidamente un script con algunas bibliotecas sin crear un entorno para el proyecto.
- Integrar compilaciones reproducibles de Python en sistemas de compilación como Pants o Buck.
Inicio rápido
- 1
Instala pex desde PyPI
pip install pex - 2
Crea un archivo pex que incluya requests, flask y psutil
pex requests flask 'psutil>2,<3' -o my_app.pex
Temas
Preguntas frecuentes
- ¿Qué es pex?
- Herramienta de Python que empaqueta aplicaciones y sus dependencias en archivos .pex ejecutables, similares a un virtualenv portable. Pex genera archivos .pex (Python EXecutable), entornos de Python autocontenidos que se ejecutan como cualquier otro ejecutable. La idea amplía PEP 441 y busca que desplegar una aplicación de Python sea tan sencillo como copiar un archivo. Un solo archivo .pex puede incluir distribuciones específicas para varias plataformas, de modo que un mismo archivo pueda ejecutarse en distintos sistemas operativos.
- ¿pex es gratuito? ¿Qué licencia tiene?
- pex es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿pex sigue mantenido?
- Mantenimiento activo. El último commit de pex fue el 24 oct 2026.
- ¿Para qué puedo usar pex?
- Distribuir una herramienta de línea de comandos o un servicio de Python como un solo archivo en servidores, sin necesidad de instalarlo por separado. Convertir un virtualenv funcional en un archivo portable usando como entrada la salida de pip freeze. Ejecutar rápidamente un script con algunas bibliotecas sin crear un entorno para el proyecto. Integrar compilaciones reproducibles de Python en sistemas de compilación como Pants o Buck.
- ¿Cómo se instala pex?
- Instala pex desde PyPI: pip install pex Crea un archivo pex que incluya requests, flask y psutil: pex requests flask 'psutil>2,<3' -o my_app.pex
- ¿Dónde consigo pex?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pex-tool/pex
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Nuitka es un compilador de Python escrito en Python que convierte programas de Python en ejecutables independientes o módulos de extensión.
Gestor moderno de paquetes y dependencias de Python que administra entornos virtuales, archivos de bloqueo y compilaciones según los metadatos de PEP 621 y PEP 517.
Herramienta automatizada que busca paquetes desactualizados en repositorios y abre pull requests para actualizarlos.
Libro abierto y accesible para principiantes que sigue el recorrido del silicio, desde la arena hasta el chip terminado, y explica el flujo de fabricación sin profundizar en física.
Plataforma autoalojable para desplegar aplicaciones, bases de datos y servicios con un clic en tus propios servidores mediante SSH, como alternativa a Heroku, Netlify y Vercel.