Entornos virtuales en Python 3 con Virtualenv en Linux


Editado el 07 de Mayo del 2021 a las 16:21:13 por Rafael Corro



Virtualenv es una herramienta para Python que nos permite crear un entorno aislado y así poder instalar librerías solo para el entorno virtual en el que estamos trabajando, lo cual es muy útil para poder mantener de manera separada, las dependencias requeridas por los diferentes proyectos que tengamos.

En este caso vamos a crear un entorno virtual para un proyecto en Python 3 en una máquina con Ubuntu 20.04.

 

INSTALACIÓN DE NUESTRO ENTORNO VIRTUAL

Instalar pip3 si no lo tenemos instalado
$ sudo apt install python3-pip

Instalar virtualenv desde pip3
$ sudo pip3 install virtualenv

Para añadir funcionalidades a nuestro virtualenv, tendremos que instalar virtualenvwrapper. Con esta extension para virtualenv, podrás agrupar todas las carpetas de cada entorno virtual en un mismo directorio en vez de que se cree dentro del proyecto en el que estamos trabajando, podremos también listar los entornos creados, etc.

$ pip3 install virtualenvwrapper

 

CREAR CARPETA DONDE DE GUARDARÁN LAS LIBRERIAS DE NUESTROS PROYECTOS

Se generará la carpeta oculta .virtualenvs en nuestro directorio personal, donde se guardaran las capertas de cada entorno virtual que hayamos creado.

Dentro de nuestra carpeta personal en el home, tenemos el archivo .bashrc que deberemos de agregar unas lineas de Configuración del virtualenvwrapper.

Buscamos dónde está el archivo virtualenvwrapper.sh
sudo find / -name virtualenvwrapper.sh

En mi caso lo ha encontrado en mi carpeta de usuario en /home/miusuario/.local/bin/virtualenvwrapper.sh

Editamos con nano:
$ nano .bashrc

agregar al final, las siguiente lineas, teniendo en cuenta la ubicación del fichero virtualenvwrapper.sh:

#Configuración de Virtualenvwrapper:
export WORKON_HOME=$HOME/.virtualenvs
VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
. $HOME/.local/bin/virtualenvwrapper.sh

Cerramos la terminal y la volvemos a abrir, y si todo ha ido bien, deben de aparecer estas lineas en la terminal:

virtualenvwrapper.user_scripts creating /home/miusuario/.virtualenvs/premkproject 
virtualenvwrapper.user_scripts creating /home/miusuario/.virtualenvs/postmkproject 
virtualenvwrapper.user_scripts creating /home/miusuario/.virtualenvs/initialize 
virtualenvwrapper.user_scripts creating /home/miusuario/.virtualenvs/premkvirtualenv 
virtualenvwrapper.user_scripts creating /home/miusuario/.virtualenvs/postmkvirtualenv 
virtualenvwrapper.user_scripts creating /home/miusuario/.virtualenvs/prermvirtualenv 
virtualenvwrapper.user_scripts creating /home/miusuario/.virtualenvs/postrmvirtualenv 
virtualenvwrapper.user_scripts creating /home/miusuario/.virtualenvs/predeactivate 
virtualenvwrapper.user_scripts creating /home/miusuario/.virtualenvs/postdeactivate 
virtualenvwrapper.user_scripts creating /home/miusuario/.virtualenvs/preactivate 
virtualenvwrapper.user_scripts creating /home/miusuario/.virtualenvs/postactivate 
virtualenvwrapper.user_scripts creating /home/miusuario/.virtualenvs/get_env_details

 

CREAR NUESTRO PRIMER ENTORNO VIRTUAL

Creamos el entorno virtual (le llamaremos "miproyecto"):

$ mkvirtualenv miproyecto

Si tenias anteriormente instalado virtualenv y no te funciona puedes ejecutar el siguientes comandos:
$ sudo pip3 install --upgrade virtualenv
$ sudo pip3 install --upgrade virtualenvwrapper

Una vez creado el entorno virtual procedemos a activarlo:
$ workon miproyecto

Ahora nos debe aparecer que estamos dentro del entorno virtual, y ya podemos instalar las dependencias del proyecto:
(Nota: dentro del entorno virtual no usaremos el comando sudo)

(miproyecto) user@lunium$ pip3 install "nombrelibreria"

Listamos librerias que tenemos instaladas en el entorno virtual:
(miproyecto) user@lunium$ pip3 list

Para salir del entorno virtual, escribir "deactivate":
$ deactivate

Para listar todos los entornos virtuales:
$ lsvirtualenv

Para borrar un entorno virtual:
$ rmvirtualenv miproyecto

si queremos copiar un entorno existente:
$ cpvirtualenv nombre_del_entorno  nombre_nuevo_entorno

Y con todo esto ya tendríamos suficiente para poder trabajar con proyectos en Python, encapsulando las dependencias en un entorno virtual.

No olvides votar si te ha gustado el artículo ;)

Valoración de los lectores sobre: Entornos virtuales en Python 3 con Virtualenv en Linux

  • valoración positiva
  • valoración positiva
  • valoración positiva
  • valoración positiva
  • valoración negativa
  • 3.9 sobre 5 (7 votos)

¿Te ha parecido útil o interesante?   Tú opinión es importante, gracias!

Nada
Muy poco
A medias
Bastante
Mucho

Deja un Comentario: