Como crear un entorno virtual en Python

29 de Enero de 2020

Dificultad
20%
Banner-Horizontal-entornos_python

Muchas veces durante el desarrollo de un proyecto, necesitarás tener diferentes versiones de una misma librería o paquete, crear ambientes virtuales, nos permite hacer que esta tarea no cree ningún conflicto con otras librerías o proyectos. De esta manera podemos tener ambientes aislados que no generen estos problemas. 

En este blog te mostraré 2 maneras de crear entornos virtuales para nuestros proyectos y una adicional para proyectos de ciencia de datos, y aprendizaje automático. Cabe resaltar que estaré utilizando la versión de Ubuntu 18.04. 

virtualevn es un paquete que podemos encontrar en el repositorio de paquetes oficiales de python, para instalarlo necesitamos permisos root:
sudo apt-get install python3-venv

 

Luego de la instalación, nos dirigimos a la carpeta donde queremos instalar el ambiente, normalmente la carpeta de nuestro proyecto. Abrimos una terminal e ingresamos el siguiente comando:

virtualenv nombre_del_entorno -p python2

Para python 2

virtualenv nombre_del_entorno -p python3

Para python3

 

Ingresamos el nombre de nuestro ambiente y el intérprete de python con el que queremos que se cree. 


Para activar el ambiente: 

source nombre_del_entorno/bin/activate 

Y listo, ya tenemos en esta consola, activado un ambiente de python, aislado de las demás librerías y proyectos de la máquina, aquí podemos hacer nuestras pruebas e instalar paquetes sin preocuparnos por problemas de compatibilidad. Esto lo tendremos que hacer para cada terminal que abramos, si queremos trabajar con el ambiente.

 

Para desactivar el ambiente: 

deactivate

A partir de la versión 3.3 de python, se crea el paquete oficial para crear entornos virtuales, por lo que no será posible crear entornos para Python 2 con este programa, cosa que ya para los tiempos que corren, no deberías estar creando nuevos proyectos con esta versión.

 

El proceso de instalación es el mismo, necesitamos abrir una terminal y con permisos root:

sudo apt-get install python3-venv

 

Nos dirigimos a la carpeta de nuestro proyecto y creamos el entorno:

python3 -m venv nombre_del_entorno

 

Una vez creado activamos el entorno:

source nombre_del_entorno/bin/activate

De esta manera tendremos otro entorno de Python 3 aislado de los demás.

 

 En cualquiera de ambos casos, al ingresar al ambiente y escribir:

pip list

Debe salirla siguiente lista de paquetes:

Package    Version

———- ——-

pip        20.0.2 

setuptools 44.0.0 

 

wheel      0.34.1

Si tu propósito es trabajar en proyectos de Machine Learning, Data Science o Big Data, te interesará tener ambientes con librerías como pandas, numpy o scipy ya instaladas. Así como Jupiter Notebook o Spyder instalados. Para este propósito te servirá instalar el software Anaconda. Este nos permite crear ambientes de python2 o python3  para nuestros proyectos, que ya vengan con una serie de librerías adicionales para proyectos de ciencia de datos, y aprendizaje automático.

 

La instalación de Anaconda será más demorada y más pesada, debido a la cantidad de paquetes que tiene que instalar.

 

Paso 1:

Vamos a la web de anaconda https://www.anaconda.com/distribution/ y descargamos la ultima version de Anaconda que queremos instalar, puedes  escoger entre python2 y python3.

 

Paso 2:

 

Vamos a la carpeta de descarga y abrimos una terminal:

 
bash Anaconda3-2019.03-Linux-x86_64.sh

 

 

En este momento el programa iniciará su instalación, aceptamos la licencia.

 

 

Output

installation finished.

Do you wish the installer to prepend the Anaconda3 install location

to PATH in your /home/sammy/.bashrc ? [yes|no]

 

[no] >>>

 

Al final de la instalación recomendamos responder  [yes] para poder usar el comando conda.

 

Paso 3: 

Una vez finalizada la instalación, ya tenemos Anaconda en nuestro PC, para activarla en nuestra consola, corremos el comando:

source ~/.bashrc

Paso 4:

Con Anaconda instalado, tendremos también instalada la versión de python que escogimos en la página de descarga, pero con Anaconda también podemos instalar entornos de otra versión de python como con virtualenv

 

Para python 2

conda create --name nombre_del_ambiente python=2

 

Para python 3

conda create --name nombre_del_ambiente python=3

 

Paso 5: 

Para activar el ambiente:

conda activate

 

Para desactivar el ambiente: 

conda deactivate

 

Estos ambientes se instalan de manera global dentro de la carpeta del usuario linux, entonces podemos acceder a estos ambientes desde cualquier consola. Para ver la lista de ambientes instalados: 

conda env list
Si necesitas crear ambientes rápidamente en python2 o python3, utilizaras virtualenv. Si necesitas crear un ambiente solamente en python3 utilizaras venv, que ya deberías dar el salto y dejar de usar python2. Si tu propósito es trabajar en ambientes para proyectos de ciencia de datos, y aprendizaje automático la mejor opción es Anaconda, ya que te ahorra tiempo en la instalación de las librerías que vas a utilizar.