logo cosasdedevs

Manejar el gestor de dependencias pip y el entorno virtual en Python

Manejar el gestor de dependencias pip y el entorno virtual en Python

My Profile
Abr 17, 2020

¡Hola! Para el tutorial de hoy quiero explicar algo más introductorio en Python como es el administrador de dependencias pip y el entorno virtual para mejorar la sección de Python de la web, ya que creo que es importante explicar bien esto para todo el que esté empezando con Python.

¿Qué es Pip?

Pip es un sistema de gestión de paquetes para instalar y administrar librerías en Python, esto nos ayuda a tener organizadas las librerías externas que usemos para nuestro proyecto. Muchas de las librerías que se pueden instalar se pueden encontrar en PyPI.

Instalar Pip

Pip viene instalado por defecto desde la versión 2.7.9 de Python 2 y desde la versión 3.4 de Python 3 por lo que no haría falta realizar ningún paso adicional si ya tienes instalado Python.

Comandos más usados

A continuación vamos a explicar los comandos más usados para familiarizarte con este comando. Yo voy a usar pip3 porque quiero forzar a que se instalen en la versión 3 de Python, si queréis instalarlo en otra versión podéis añadirla a pip o usando simplemente pip se instalá en la versión por defecto de tu equipo.

Instalar un paquete:

pip3 install <nombre-paquete>

Eliminar un paquete:

pip3 uninstall <nombre-paquete>

También podemos instalar paquetes desde un archivo como se muestra con el siguiente comando:

pip3 install -r requirements.txt

Dentro de nuestro archivo listaremos los nombres de los paquetes que queremos instalar y listo, además también podemos añadir la versión del paquete si tenemos algún problema de compatibilidad, si no nos instalará la última versión de la librería.

Un ejemplo de un archivo requirements.txt (le podéis poner el nombre que queráis) sería este:

Django==2.2.11
django-ckeditor==5.9.0
django-environ==0.4.5
django-js-asset==1.2.2
Pillow==7.0.0
psycopg2==2.8.4
pytz==2019.3
sqlparse==0.3.1
Unidecode==1.1.1

Para saber los paquetes que tenemos instalados usaremos freeze.

pip3 freeze

Este comando nos mostrará una lista con las librerías y sus versiones.

Vale, esto está muy bien pero de esta forma estaremos instalando estas librerías de forma global en nuestro equipo y ahora os preguntaréis ¿Cómo instalar librerías en un proyecto en concreto?

Bien, esto lo solucionaremos creando un entorno virtual.

¿Qué es un entorno virtual en Python?

El módulo venv, que es el que usaremos para crear nuestro entorno virtual, es un herramienta por el cual se creará un entorno aislado del sistema con la versión de Python que usemos para crear el entorno vitual y en el que podremos añadir las librerías que queramos independientemente de la instalación global en nuestro sistema.

Cómo crear un entorno virtual con venv

En el directorio raíz de nuestro proyecto, abrimos la consola y tendremos que lanzar el siguiente comando:

python3 -m venv <nombre-entorno>

Yo por lo general lo nombro como env pero podéis usar el nombre que queráis.

He observado que en Ubuntu en ocasiones hay problemas con esta orden, si es vuestro caso probad a instalar virtualenv con pip e intentarlo de nuevo de esta forma:

sudo pip3 install virtualenv
virtualenv -p python3 env

Una vez creado tenemos que activarlo, para ello usaremos el siguiente comando si estamos en Windows:

env/Scripts/activate

Para Ubuntu Y Mac lo haremos de la siguiente forma:

source env/bin/activate

Al activar el entorno virtual nos aparecerá al principio de la línea de comandos el nombre del entorno virtual entre paréntesis para indicarnos que lo tenemos activado.

Si queremos desactivarlo usaremos deactivate tanto en Windows como en Mac y Ubuntu.

deactivate

Una vez activado el entorno virtual ya podremos instalar las librerías que queramos para nuestro proyecto y mientras esté activo ya no necesitaremos añadir la versión ni al comando Python ni pip, ya que usará por defecto la versión instalada en el entorno virtual que en nuestro caso sería la versión 3 que es la que utilizamos para crear el entorno virtual.

¡Espero que este tutorial os ayude a todos los que os estéis iniciando en Python y nos vemos en el siguiente post!

748 vistas

Nos tomamos en serio tu privacidad

Utilizamos cookies propias y de terceros para mejorar la experiencia del usuario a través de su navegación. Si pulsas entendido aceptas su uso. Ver política de cookies.

🐍 Sígueme en Twitter

Si te gusta el contenido que subo y no quieres perderte nada, sígueme en Twitter y te avisaré cada vez que cree contenido nuevo 💪
Luego ¡Te sigo!