Cómo crear y administrar entornos virtuales de Python

Cómo crear y administrar entornos virtuales de Python
Es bastante común ver a los desarrolladores de Python instalar y actualizar paquetes de fuentes estándar y no estándar para desarrollar aplicaciones. Las razones pueden variar desde el uso de una versión más nueva de un módulo hasta usar una versión específica en caso de que haya una regresión.

Estos requisitos y casos de uso pueden ser un dolor para manejar cuando diferentes aplicaciones requieren diferentes versiones de la misma biblioteca. Afortunadamente, Python proporciona una solución robusta para aislar entornos de desarrollo utilizando entornos virtuales.

¿Qué es un entorno virtual de Python??

Un entorno virtual de Python es un árbol de directorio autónomo que contiene una instalación específica de Python junto con todas sus bibliotecas estándar. Las aplicaciones que requieren una versión particular de la biblioteca se pueden aislar en estos entornos virtuales sin contaminar el sistema u otras implementaciones de Python. Cada entorno virtual es un sandbox separado, por lo que puede crear tantos entornos virtuales que desee.

Creación y administración de entornos virtuales

Para crear entornos virtuales en Ubuntu, primero instale el paquete de dependencia requerido ejecutando el comando:

$ sudo apt install python3-henv

Ahora puede crear entornos virtuales ejecutando el comando:

$ python3 -m venv myenv

Ejecutar el comando anterior creará un entorno virtual llamado "myenv" en su directorio de inicio. Si desea utilizar cualquier otra versión de Python, puede reemplazar "Python3" arriba con un camino completo a la ubicación de su binario alternativo de Python.

Para activar el entorno personalizado creado anteriormente, ejecute el comando:

$ fuente myenv/bin/activar

Una vez que se activa el entorno virtual, el indicador de Shell cambiará para reflejar el entorno virtual actual que está utilizando. Si corres "Sys.comando de ruta ”dentro de Python intérprete, puede ver que el entorno virtual funciona correctamente. Python ahora buscará paquetes dentro del entorno personalizado que acaba de crear.

Si su solicitud de shell no muestra el nombre del entorno virtual como prefijo, cualquier archivo de python que ejecute usará el sistema Python en su lugar. Por lo tanto, es necesario obtener un entorno virtual antes de ejecutar un archivo en su entorno personalizado.

Puede desactivar un entorno virtual ejecutando el comando:

$ desactivado

Cada entorno virtual de Python incluye un "pyvenv.CFG "Archivo que tiene una tecla" incluir el sistema-sistema de paquetes "que se establece en" falso "de forma predeterminada. Esta clave le dice al entorno virtual si utiliza los paquetes de sitio del sistema o no. Si se establece en "Verdadero", Python en el entorno virtual analizará los paquetes del sistema en caso de que no se encuentre un paquete en el entorno virtual. También hará que todos los paquetes instalados del sistema sean importables dentro del entorno virtual.

Para eliminar un entorno virtual, solo tiene que eliminar el directorio de entorno virtual y se irá.

Es posible crear y almacenar virtualenv en unidades USB externas. Deberá tener una unidad USB formateada en NTFS o sistema de archivos EXT. El sistema de archivos FAT32 no es compatible.

Uso de PIP Package Manager para instalar paquetes dentro del entorno virtual

Dentro de un entorno virtual, puede usar PIP Package Manager para instalar, actualizar y desinstalar paquetes. Es posible rebajar o actualizar un paquete especificando un número de versión en particular.

Puede instalar un paquete usando PIP ejecutando el comando (reemplace PyGame con el nombre de su paquete deseado):

$ Pip Instalar Pygame

Se puede encontrar un repositorio de búsqueda de paquetes PIP aquí.

Para desinstalar un paquete, use el comando:

$ Pip Uninstall Pygame

Para ver todas las versiones de un paquete, ejecute el comando:

$ Pip Install PyGame ==

Para degradar o actualizar a una versión específica, use el comando (reemplace "1.9.5 "con el número de versión deseado):

$ Pip Install PyGame == 1.9.5

Para actualizar un paquete a la versión más nueva, ejecute el comando:

$ Pip Install -Upgrade Pygame

Para ver todos los paquetes instalados en el entorno virtual, ejecute el comando:

Lista de $ Pip

Para guardar una lista de paquetes instalados dentro de VirtualEnv, ejecute el comando:

$ Pip Freeze> Requisitos.TXT

Puede usar anteriormente "Requisitos.archivo txt "para instalar paquetes a granel. Un caso de uso es duplicar un entorno existente instalando todos los paquetes desde cero. Para instalar paquetes PIP a granel, ejecute el comando:

$ PIP Install -R Requisitos.TXT

Uso de entornos virtuales de Python con aplicaciones que no son Python

Las aplicaciones escritas en otros lenguajes de programación se pueden sandboxed en entornos virtuales de Python siempre que PIP o cualquier otro Administrador de paquetes de Python proporcione binarios y paquetes para estos lenguajes/marcos de programación alternativos.

Aquí hay un pequeño ejemplo que explica la instalación del nodo.JS en el entorno virtual de Python. Ejecute los siguientes comandos uno por uno:

$ python3 -m venv my_node_env
$ fuente my_node_env/bin/activar
$ PIP Install Wheel
$ PIP instalación nodoenv
$ nodoenv -p
$ nodoenv --versión
$ nodo --versión

Una vez hecho esto, tendrá un nodo completamente aislado.ambiente js. Puede crear tantos entornos virtuales como desee para diferentes nodos.Aplicaciones JS. Los paquetes instalados a través de NPM Package Manager se limitarán al entorno virtual activado solo.

Conclusión

Crear un entorno virtual de Python es una excelente manera de contener entornos de desarrollo. Cada entorno virtual tiene su propio binario de Python y su propio conjunto independiente de paquetes. El desarrollo de múltiples aplicaciones de Python en el mismo sistema puede contaminar rápidamente su directorio de hogar y raíz y entornos virtuales, lo que es tan fácil mantenerlas.