Pirobits
  

Python piepenv tutorial: gestiona dependencias como un pro

alberto avatar Alberto Sola · 3/19/2024

Cuando trabajas con python necesitas instalar paquetes y gestionar dependencias. Si tienes varios proyectos, las dependencias pueden cruzarse y ocasionar problemas. Te cuento cómo pipenv soluciona este problema.

Introducción

Cuando estás trabajando en un proyecto con Python y tienes que instalar un paquete normalmente ejecutas python3 -m pip install <paquete>. ¿Qué pasa si dos proyectos dependen de versiones diferentes de un mismo paquete? Que puede haber problemas.

Para ello se crearon los "virtual envs" o "venv", de forma que puedes tener diferentes versiones de Python con sus respectivos paquetes en un mismo ordenador.

En este caso pipenv es la herramienta, bastante popular, que te permite gestionar los entornos virtuales de python en tu ordenador. Algo así como npm en el ecosistema de Node.

Te explico los conceptos básicos para poder utilizarlo tú también.

Tutorial: cómo utilizar pipenv

Lo primero es instalar pipenv con el siguiente comando:

python3 -m pip install pipenv

Con esto ya puedes utilizar el comando pipenv para gestionar los entornos. ¡Sigue leyendo!

Bien, ahora los comandos básicos que debes conocer:

Instalar dependencias

Este comando crea un entorno virtual si no existe, por lo que puedes lanzarlo directamente.

pipenv install <paquete>

Activar un entorno virtual

pipenv shell

Una vez dentro puedes ejecutar:

python fichero.py

Ejecutar un fichero

pipenv run python fichero.py

Crear un entorno virtual

pipenv --python <version>

Eliminar un entorno virtual

pipenv --rm

Virtualenv

Hay otra herramienta a más bajo nivel que es virtualenv que te permite crear directorios que contienen todas las dependencias para ejecutar el proyecto con una versión de python concreta.

Te dejo aquí un enlace con toda la documentación de la herramienta.

Resumen

En mi caso utilizo pipenv cuando lo necesito ya que es lo más cómodo. Esto me recuerda cuando empecé a trabajar donde teníamos diferentes proyectos, todos con python, virtualenv y docker.

¿Te ha parecido interesante el artículo?¡ Únete a la comunidad para recibir contenido exclusivo !

Aprende sobre creación de producto y desarrollo de software

Comparto mis aprendizajes construyendo productos de software, novedades y artículos que me parecen interesantes. Voy directo al grano y te envío, como mucho, un mail a la semana. Qué, ¿te apuntas?

Ya son más de 50 creadores que reciben estos aprendizajes 🚀

Lo último que he escrito en el blog