Entornos virtuales python en Ubuntu – Virtualenv

Entornos virtuales

Para tener varias versiones de una misma biblioteca no es necesario desinstalarla y volverla a instalar, con los entornos virtuales podemos crear varios entornos y en cada uno instalar una versión diferente de una misma biblioteca. Como se ve en la imagen a continuación. Los entornos virtuales python sirven para crear proyectos aislados.

En este post crearé un entorno virtual para python en la terminal de Ubuntu usando virtualenv. Recuerda que hay otras herramientas para crear entornos virtuales, como venv o conda que revisaremos en otro post. También puedes revisar el siguiente video asociado a entornos virtuales.

Cómo crear un entorno virtual con virtualenv

Para crear el entorno virtual debemos tener instalado lo siguiente:

Verificar que Python, pip y virtualenv esten instalados

Es posible que ya tengas instalado Python, pip y virtualenv en Ubuntu, así que primero verifiquemos su instalación. Escribo en la terminal de Ubuntu los siguientes comandos.

python3 --version
pip --version
virtualenv --version

Nota: Si no funciona con python3 puede que tengas instalado otra versión intenta con python –version o también con python2 –version. Yo tengo instalado python3, así que estos ejemplos los realizaré con esa versión.

  • Si no tienes instalado pip puedes usar el siguiente comando1:
sudo apt-get install python3-pip
  • Si no tienes instalado virtualenv puedes usar el siguiente comando1:
sudo pip3 install virtualenv

Crear el entorno virtual

virtualenv miEntorno1

Y verifico que en la dirección /Escritorio/EjemploEntornos/miEntorno1 se crearon varias carpetas, como se ve en la imagen a continuación.

Carpetas que se crearon con "miEntorno1"

Activar el entorno virtual

Para activar el entorno virtual debo acceder a la carpeta bin. Puedo hacerlo de dos maneras.

  • La primera forma es escribiendo directamente el siguiente comando:
source miEntorno1/bin/activate

Antes del nombre de usuario aparecerá entre paréntesis el nombre del entorno (miEntorno1), esto indica que el entorno virtual está activo.

  • La segunda forma es navegar con ayuda del comando cd y ls hasta llegar a la carpeta bin. Dentro de la carpeta bin escribo el siguiente comando:
source activate

Aparece el nombre del entorno entre paréntesis (miEntorno1) así que el entorno está activo. Para retroceder entre carpetas usa cd ..

No necesariemente debemos estar ubicados donde creé y activé miEntorno1 para escribir los scripts o instalar las bibliotecas. En este post voy a retroceder desde bin hasta la carpeta de usuario usando cd

Instalar paquetes con pip en el entorno virtual

pip install opencv-python
  • Matplotlib
pip install matplotlib

Revisar las bibliotecas instaladas en un entorno virtual

Revisa las bibliotecas instaladas en virtualenv con la siguiente linea:

pip freeze

Aunque instalé solo openCv y Matplotlib aparecen mas bibliotecas porque son complementarias.

Ejecutar un script en en entorno virtual

El script que voy a ejecutar muestra varias imágenes y usa las bibliotecas OpenCV y Matplotlib. En el escritorio tengo una carpeta llamada «MostrarImagenes» dentro de esa carpeta está el script mostrarImagen.py y una carpeta con imágenes que el script usa para funcionar. Nuestro entorno virtual es perfecto para ejecutar este script porque tiene instalado openCV y Matplotlib.

Descarga estos archivos en GitHub

Con el entorno activo desde la terminal y con ayuda del comando cd voy hasta la carpeta «MostrarImagenes» donde está el script mostrarImagen.py

Para ejecutar el script, se usa python3 más el nombre del script.

python3 mostrarImagen.py

Y ya has ejecutado un script con tu entorno virtual creado.

Desintalar una biblioteca del entorno virtual

Para desinstalar una librería del entorno se debe usar la palabra uninstall seguido del nombre con el que se instaló la biblioteca, como se muestra a continuación. Desintalaré opencv-python:

pip uninstall opencv-python

Nota: Si la biblioteca tiene una versión específica, se debe añadir en el nombre la versión al igual que la momento de instalar.

Migrar un entorno virtual a otro entorno virtual

Para migrar un entorno debo crear un archivo llamado requirements.txt, este archivo contendrá todas las bibliotecas que el entorno tiene instaladas. Uso la siguiente línea:

pip freeze > requirements.txt

El archivo requirements.txt se creará en la dirección que estemos ubicados desde la terminal. Aqui se creó en la carpeta «MostraImagenes»

En este ejemplo el archivo requirements.txt contendrá los siguiente:

Aquí migraré las bibliotecas de miEntorno1 a un nuevo entorno llamado otroEntorno. Entonces creo el nuevo entorno

Copio y pego en la misma carpeta del nuevo entorno el arhivo requirements.txt

Y en la terminal escribo el siguiente comando:

pip install -r requirements.txt

Si todo ha salido bien tendrás los paquetes instalados en tu otro entorno. Si en tu nuevo entorno escribes pip freeze apareceran las bibliotecas que fueron instaladas

Para limpiar la pantalla del cmd escribe clear

Referencias

5 comentarios en “Entornos virtuales python en Ubuntu – Virtualenv”

  1. Pingback: Entornos virtuales Python en Windows - Virtualenv - Kipuna Ec

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *