Entornos Virtuales Python

Foto de David Schultz en Unsplash

Los entornos virtuales Python son una herramienta que nos ayudará en el desarrollo de proyectos. Estos entornos virtuales permiten aislar los proyectos de forma independiente.

Digamos que tenemos que realizar dos proyectos, el A y el B. El proyecto A necesita la versión más actual de una biblioteca, pero el proyecto B necesita la versión antigua. Entonces no podemos usar la misma biblioteca, pero podemos crear dos entornos virtuales, en el primero pondremos la versión más actual de la biblioteca para que el proyecto A pueda funcionar correctamente, y en el segundo entorno B lo creamos con una versión antigua. Así podremos desarrollar por separado cada proyecto con sus bibliotecas y características individuales, sin que las modificaciones del proyecto A afecten al proyecto B. En la siguiente imagen trato de representar como los entornos virtuales trabajan con los proyectos:

Y es así como los entornos virtuales nos benefician a la hora de programar. Se pueden crear entornos virtuales con las siguientes herramientas:

  • venv
  • virtualenv
  • conda

Los entornos virtuales se crean a partir de una instalación de Python existente. Para tener entornos virtuales con diferentes versiones debes tener esas versiones de Python instaladas en tu computador, por ejemplo si tengo en Ubuntu Python 2.7 y Python 3.8. Las siguientes dos líneas de código serán ejemplificadas con virtualenv.

Para crear un entorno con Python 2.7 uso el siguiente comando:

virtualenv --python=/usr/bin/python2.7 miEntorno1  

Y para crear un entorno con python 3.8 uso el comando:

virtualenv --python=/usr/bin/python3.8 miEntorno2

Virtualenv – Entornos Virtuales Python

Virtualenv es una herramienta para crear entornos Python aislados. Virtualenv lo podemos usar desde la linea de comandos cmo también desde IDEs como PyCharm. Para instalar paquetes en un entorno creado con virtualen podemos usar pip. Revisa los siguienes post que estan relacionados con el uso de virtualenv en Windows y Ubuntu y explora las direfencias que pueden existir:

Entornos virtuales Para tener varias versiones de una misma biblioteca no es necesario desinstalarla y volverla a instalar, con los ...
En este post crearé un entorno virtual para Python desde el cmd de Windows usando virtualenv. También puedes revisar el ...

Una particularidad que reportaron varios de los usuarios del Canal de YouTube kipunaEc fue que en los tutoriales de Visión por Computador realizados en Ubuntu con virtualenv, cuando realizamos Zoom a una imagen para ver los valores de los píxeles funcionaba correctamente, pero cuando intentaban hacer el mismo ejercicio en Windows no se podía hacer un acercamiento a los píxeles, por esa razón usamos Conda en Windows porque ese gestor de paquetes y entornos si nos permite hacer Zoom a los píxeles de una imagen con openCV y Python

Otra variación que hay cuando creamos entornos con virtualenv en Windows y Ubuntu es que la carpeta para activar el entorno se llaman en Ubuntu se llama bin y en Windows la capeta se llama Scripts.

Conda – Entornos Virtuales Python

Conda es un gestor de paquetes y entornos virtuales, se puede usar conda desde la línea de comandos, pero si usas Anaconda podrás gestionar los entornos virtuales desde la interfaz gráfica de Anaconda Navigator (Instalar Anaconda en Windows). En el siguiente Post describo cómo se crean los entornos virtuales usando comandos de Conda en Windows.

Una de las formas de crear entornos virtuales Python es usando Conda. En este tutorial utilizaremos el cmd de Windows ...

A diferencia de virtualenv, Conda no varía su forma de activar o desactivar entornos virtuales si trabajamos en Ubuntu o Windows. Para activar un entorno usamos el comando:

conda activate miEntorno

Y para desactivar, teniendo el entorno activo usamos:

conda deactivate

Encuentra paquetes como Opencv, imageio, matplotlib, pandas visitando https://anaconda.org/ e instálalos en tu entorno Conda.