Tu blog de tutoriales Python en habla hispana

Crear Entornos Virtuales en Python

Un entorno virtual es un espacio donde podemos instalar paquetes específicos para un proyecto. Es decir, permite tener para un proyecto determinado un conjunto de paquetes/librerías aislados de la instalación principal de Python en nuestro sistema. Una razón para usar entornos virtuales es si por ejemplo tenemos muchos proyectos que utilizan una versión específica de una librería, pero queremos probar una versión más reciente de dicha librería sin crear errores en nuestros proyectos existentes.

Para la creación de entornos virtuales se recomienda utilizar el módulo venv, el cual viene instalado por defecto con la librería estándar de Python desde la versión 3.3. Por otro lado, la instalación de paquetes se realiza mediante la herramienta pip, la cual viene incluida por defecto a partir de Python 3.4. Como los comandos que vamos a ver en este post utilizan estas dos herramientas, se asume que se trabaja como mínimo con la versión 3.4.

Lista de comandos

Los siguientes comandos son válidos para el símbolo del sistema (CMD) de Windows, y la aplicación de terminal de macOS y Linux.

Comandos relacionados con la gestión de entornos virtuales

  • Crear un entorno virtual nuevo

En Windows, y asumiendo que Python está incluido dentro de las variables del sistema:

C:\>python -m venv c:\ruta\al\entorno\virtual

En macOS y Linux:

$ python -m venv ruta/al/entorno/virtual

Es recomendado que la carpeta para el entorno virtual sea una subcarpeta del proyecto Python al que está asociado.

  • Activar un entorno virtual

En Windows:

C:\>c:\ruta\al\entorno\virtual\scripts\activate.bat

En macOS y Linux:

$ source ruta/al/entorno/virtual/bin/activate

Sea cual sea nuestro sistema operativo sabremos que el entorno virtual se ha activado porque su nombre aparece entre paréntesis delante del promt.

  • Desactivar un entorno virtual

Este comando es idéntico para Windows, macOS y Linux:

$ deactivate
  • Eliminar un entorno virtual

En Windows:

C:\>rmdir c:\ruta\al\entorno\virtual /s

En macOS y Linux:

$ rm -rf ruta/al/entorno/virtual

Eliminar un entorno virtual es tan sencillo como eliminar la carpeta que lo contiene. Por ello, esta operación también se puede realizar desde el correspondiente administrador de archivos.

Comandos relacionados con la gestión de paquetes

La gestión de los paquetes instalados, sea o no en un entorno virtual, se realiza mediante la herramienta pip. Esta herramienta obtiene los paquetes que le mandamos instalar del Python Package Index. Para que los siguientes comandos funcionen bajo Windows, se asume que Python está incluido en las variables del sistema.

  • Instalar una nuevo paquete
$ pip install paquete

Siendo paquete el nombre del paquete/librería a instalar. Este comando instala también automáticamente las dependencias del paquete que deseamos instalar.

  • Eliminar un paquete
$ pip uninstall paquete

Siendo paquete el nombre del paquete/librería a desinstalar. Este comando no desinstala cualquier dependencia del paquete que desinstalamos.

  • Listar los paquetes instalados
$ pip list

Existe otro comando que lista los paquetes en formato del archivo requirements.txt. Este archivo contiene un listado de las versiones de los paquetes necesarios para ejecutar un proyecto en Python.

 $ pip freeze

En sistemas Windows podemos copiar la salida de este comando, pegarla en un editor de notas como Atom o Sublime Text (que también podemos usar como nuestro entorno de programación), y guardarla manualmente con el nombre requirements.txt. Sin embargo, si usamos macOS o Linux podemos guardar la salida directamente en un fichero de texto.

$ pip freeze > requirements.txt
  • Instalar los paquetes del fichero requirements.txt
$ pip install -r requirements.txt

Buenas prácticas con los entornos virtuales

Existen dos consideraciones adicionales a tener en cuenta respecto a los entornos virtuales:

  • No se debe añadir manualmente ningún fichero dentro de una carpeta que almacena un entorno virtual. Esta carpeta sólo debe contener los ficheros que se crean por defecto al crear el entorno virtual y los paquetes adicionales que hayamos instalado con el comando pip.
  • La carpeta del entorno virtual no debe incluirse a nuestra herramienta de control de versiones. En lugar de ello es recomendado añadir un fichero requirements.txt con el listado de los paquetes necesarios para ejecutar el proyecto.00

Deja un comentario

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

4 × dos =