Como crear ambientes virtuales en Python usando powershell

Como crear ambientes virtuales en Python usando powershell

Un entorno virtual es un espacio donde podemos instalar librerías específicas para diferentes proyectos en ambientes diferentes al ambiente base de Python. Uno de los motivos de usar entornos virtuales es tener espacios de trabajo en las cuales puedes instalar distintas versiones de librerías y así no generar conflictos de instalación entre ellas y mantener separado distintos ambientes de trabajo según tus poryectos.

Para la creación de un entorno vitual es posible mediante cmd, bash y powershell; este post se enfoca en el uso de este último.

Python es un lenguaje en el que se agregan librerias según tus necesidades, aunque para ello primero debemos saber que es pip.

PIP es el sistema de administración de librerías usado para instalar y administrar paquetes/librerias en el lenguaje de Python. Estos archivos son almacenados en un gran repositorio en línea, denominado Python Package Index (PyPI). Para versiones superiores a 2.7.9 y 3.4 de Python esta librería viene instalado por defecto.

Si no tienes instalado pip, te explicamos que hay dos alternativas de instalación:

  1. ensurepip

    Python viene con el módulo ensurepip, quien puede instalar pip en el ambiente de Python . Abrir Powershell y escribir

    py -m ensurepip --upgrade 

    Más detalles de como ensurepip usar la librería, revisar la documentación de la librería. La opción --upgrade instala la versión más reciente de la librería.

  2. git-pip.py

    2.1 Esto es un script de Python que usada para instalar pip. Primero debes descargar este script.

    2.2 Abrir un terminal/comando de Powershell y usar cd para ir al directorio donde esta el script de Python guardado en el paso anterior, usando el comando

    cd "<get-pip folder>"

    El acrónimo de change directory es cd.

    2.3 Ejecutar

    py get-pip.py

Con la instalación de pip vamos a revisar las librerías instaladas.

Ahora explicaremos como utilizar un ambiente virtual usando Powershell.

  1. Opciones de ejecución en Windows. Por defecto Windows tienen una política de ejecución restringida. Para cambiar su configuración incluir lo siguiente en la consola de Powershell

    Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
  2. Chequear si la instalación base de Python tienes instalada la librería virtualenv

    pip list

    Esto muestra todas las librerías instaladas. Si en la lista no aparece la librería virtualenv, hay que instalarla usando el código

    pip install virtualenv
  3. Crear un ambiente virtual. Para ello tenemos que seleccionar un nombre para el ambiente virtual venv_name y el directorio donde lo queremos guardar <folder_to_save_venv>.

    python -m venv <folder_to_save_venv>\venv_name 
  4. Activar el ambiente virtual. Tomando el directorio y nombre del ambiente del paso anterior, escribimos la sentencia

    <venv_folder>\venv_name\Scripts\activate.ps1 

    Al momento de activar el ambiente virtual el nombre de este aparece al comienzo de cada sentencia (antes del texto PS y destacado en otro color).

    (venv_name) PS <active_folder> >

    Dentro del ambiente virtual ahora podemos instalar librerias usando pip.

  5. Desactivar un ambiente virtual. Solo debemos escribir el comando

    deactivate
  6. Activar un ambiente virtual ya creado

    <other_venv_folder>\other_venv_name\Scripts\activate.ps1 
  7. Obtener las librerias instaladas en un ambiente virtual y guardarlos en el directorio <folder_to_save_file>\requirements.txt. Para esto hay que tener activo el entorno virtual en la terminal.

    pip freeze > <folder_to_save_file>\requirements.txt 
  8. Instalar las librerías que se están listadas en el archivo < <folder_to_load_file>\requirements.txt

    pip install -r <folder_to_load_file>\requirements.txt 
  9. Para desintalar librerías utilizando un archivo requirements.txt, el procemiento es similar a instalar archivos, usando el comando uninstall.

    pip uninstall -r <folder_to_load_file>\requirements.txt 
  10. Para borrar un entorno virtual es necesario desintalar las librerias instaladas, deactivate el venv en la terminal y borrar la carpeta donde se almacena el entorno virtual.

    rm -r <venv_dir>/ 

Nota: también es posible ir a los directorios donde guardar entornos virtuales y archivos usando cd <folder_to_active> y dir (para revisar las carpetas del directorio en el que se está posicionado).

Mayor información:

Rubén Miranda Rubén Miranda A curious mind!