Pitón

Cómo crear y administrar entornos virtuales Python

Cómo crear y administrar entornos virtuales Python
Es bastante común ver a los desarrolladores de Python instalando y actualizando paquetes de fuentes estándar y no estándar para desarrollar aplicaciones. Las razones pueden variar desde usar 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 difíciles de administrar cuando diferentes aplicaciones requieren diferentes versiones de la misma biblioteca. Afortunadamente, Python proporciona una solución sólida para aislar entornos de desarrollo mediante entornos virtuales.

¿Qué es un entorno virtual de Python??

Un entorno virtual de Python es un árbol de directorios 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 pueden aislarse en estos entornos virtuales sin contaminar el sistema u otras implementaciones de Python. Cada entorno virtual es una caja de arena independiente, por lo que puede crear tantos entornos virtuales como desee.

Creación y gestión de entornos virtuales

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

$ sudo apt install python3-venv

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 la ruta completa a la ubicación de su binario de Python alternativo.

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 ejecuta "sys.path ”dentro del intérprete de Python, puede ver que el entorno virtual funciona correctamente. Python ahora buscará paquetes dentro del entorno personalizado que acaba de crear.

Si su indicador 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:

$ desactivar

Cada entorno virtual de Python incluye un "pyvenv.cfg "que tiene una clave" include-system-site-packages "que se establece en" false "de forma predeterminada. Esta clave le dice al entorno virtual si usar paquetes de sitio del sistema o no. Si se establece en "verdadero", Python en el entorno virtual buscará 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 en el sistema se puedan importar dentro del entorno virtual.

Para eliminar un entorno virtual, solo tiene que eliminar el directorio del entorno virtual y desaparecerá.

Es posible crear y almacenar virtualenv en unidades USB externas. Deberá tener la unidad USB formateada en el sistema de archivos NTFS o EXT. El sistema de archivos FAT32 no admite enlaces simbólicos, que es un requisito para que los entornos virtuales funcionen.

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

Dentro de un entorno virtual, puede usar el administrador de paquetes pip para instalar, actualizar y desinstalar paquetes. Es posible degradar o actualizar un paquete especificando un número de versión particular.

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

$ pip instalar pygame

Puede encontrar un repositorio de búsqueda de paquetes pip aquí.

Para desinstalar un paquete, use el comando:

$ pip desinstalar pygame

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

$ pip instalar 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 instalar pygame == 1.9.5

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

$ pip install - actualizar 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 utilizar los "requisitos.txt ”para instalar paquetes de forma masiva. Un caso de uso es duplicar un entorno existente instalando todos los paquetes desde cero. Para instalar paquetes pip a granel, ejecute el comando:

Requisitos de $ pip install -r.TXT

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

Las aplicaciones escritas en otros lenguajes de programación se pueden colocar en un espacio aislado 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 de Node.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 instalar rueda
$ pip instalar nodeenv
$ nodeenv -p
$ nodeenv --version
$ nodo --versión

Una vez hecho esto, tendrá un nodo completamente aislado.entorno js. Puede crear tantos entornos virtuales como desee para diferentes Node.aplicaciones js. Los paquetes instalados a través del administrador de paquetes npm se limitarán solo al entorno virtual activado.

Conclusión

Crear un entorno virtual de Python es una forma excelente 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 raíz y de inicio, y los entornos virtuales facilitan su mantenimiento.

Cómo capturar y transmitir su sesión de juego en Linux
En el pasado, los juegos solo se consideraban un pasatiempo, pero con el tiempo la industria del juego experimentó un gran crecimiento en términos de ...
Los mejores juegos para jugar con el seguimiento de manos
Oculus Quest presentó recientemente la gran idea del seguimiento manual sin controladores. Con un número cada vez mayor de juegos y actividades que ej...
Cómo mostrar la superposición de OSD en aplicaciones y juegos de Linux en pantalla completa
Jugar juegos en pantalla completa o usar aplicaciones en modo de pantalla completa sin distracciones puede aislarlo de la información relevante del si...