Crear entornos virtuales de Python

Instrucciones para instalar un entorno virtual de python que utilice otra versión de python diferente de la que tienes instalada como global.

Ejemplo de necesidad: tienes instalado python 3.8 pero necesitas ejecutar scripts que se encuentran escritos en python 2.7

Solución: crear un entorno virtual que tenga esa versión de python

Pasos:

Lo primero será instalar la versión de python que necesitas tener activada (en esta guía puedes ver como lo hice para python 2.7, pero tú puedes seguir los mismos pasos para cualquier versión de python):

$ sudo add-apt-repository ppa:deadsnakes/ppa # instalamos el ppa
$ sudo apt install python2.7 # una vez instalado el ppa vamos a instalar python

Ahora hay que instalar virtualenv. Si no tienes virtualenv instalado puedes instalarlo haciendo:

$ sudo pip install virtualenv

Una vez instalado debes crear la carpeta donde deseas tener el entorno virtual (puedes tener una carpeta «maestra» con todo tus entornos virtuales o ir creándolas dentro de las carpetas de los proyectos que necesiten ese entorno virtual, todo dependerá de como te organices).

La sisntaxis para crear un entorno virtual con una versión específica de python será esta:

$ virtualenv --python=version_de_python nombre_del_entorno_virtual

En mi caso voy a crear un entorno virtual con python 2.7 y para conseguir donde está el binario ejecuté este comando:

$ which python2.7
$ /usr/bin/python2.7

Ahora sí, todo listo para crear el entorno virtual con una versión específica de python, solo debes escribir:

$ virtualenv --python=/usr/bin/python2.7 p27

Para activar el entorno virtual basta con escribir:

$ source p27/bin/activate

Una vez activado puedes verificar la versión de python con:

(p27)$ python --version
(p27)$ Python 2.7.18

Para desactivar el entorno virtual:

(p27)$ deactivate

Y ya con eso lo tienes, ya solo te queda comenzar a instalar dependencias y demás menesteres que sean de tu incumbencia, nos vemos XOXOXO.

Soy Snell Rojas | Consultor SEO

Soy un experimentado Consultor SEO con 5 años de experiencia trabajando con equipos de marketing y desarrollando estrategias SEO para más de 100 sitios web. Mis principales habilidades son diseñar e implementar cambios en la estrategia de SEO que pueden mejorar los objetivos deseados, mejorar aspectos técnicos de SEO (ya que tengo 3 años de experiencia como desarrollador back-end), también me siento muy bien trabajando de la mano con mis clientes para optimizar sus páginas web.