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.
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
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
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
¿Te ha parecido útil o interesante? Tú opinión es importante, gracias!