Explicación de los entornos virtuales de Python

E

¿Qué es VirtualEnv?

los virtualenv La herramienta crea un entorno Python aislado (en forma de directorio) que está completamente separado del entorno Python de todo el sistema.

Lo que esto realmente significa es que cualquier configuración, paquete de terceros, etc. del entorno de todo el sistema no aparece en el entorno virtual, por lo que es casi como si tuviera una instalación limpia de Python.

Esto es útil cuando desea tener una pizarra limpia para sus proyectos. Digamos que tienes boto versión 2.7.0 instalada en los paquetes del sitio, pero el proyecto que recién está comenzando necesita la versión 2.38.0 más reciente. Dado que no puede tener ambas versiones instaladas en todo el sitio, necesita un entorno Python que mantenga las dependencias separadas. Esto es lo que virtualenv la herramienta es para.

¿Por qué es útil VirtualEnv?

Python se diferencia de otros lenguajes más amigables para las empresas (como Java) en que las bibliotecas de terceros se cargan y usan en todo el sistema, en lugar de hacerlo proyecto por proyecto. Esto puede convertirse en un problema si dos proyectos diferentes requieren diferentes versiones del mismo paquete.

Entonces, para cada proyecto que inicie, también puede crear un nuevo entorno virtual para asegurarse de que todas las dependencias instaladas no afecten a los otros proyectos en su computadora.

A medida que crea más y más proyectos, y a medida que los implementa, pronto se dará cuenta de lo importante que es tener separaciones estrictas entre proyectos.

¿Cómo usas VirtualEnv?

Los entornos virtuales son fáciles de crear (y destruir), solo requieren la virtualenv paquete, que se puede instalar con:

$ pip install virtualenv

Para crear un nuevo entorno virtual, es probable que desee hacer algo como esto:

$ virtualenv --no-site-packages myapp

Este comando creará la siguiente estructura de directorio:

  • myapp /
    • compartimiento/
    • incluir/
    • lib /

Utilizando la --no-site-packages flag crea un entorno virtual que se asemeja a una instalación limpia de Python y que no contiene paquetes de terceros, sino solo los paquetes estándar de Python.

Los tres subdirectorios enumerados anteriormente contienen todos los ejecutables, dependencias y paquetes de Python necesarios para desarrollar y ejecutar programas de Python. También incluye algunas herramientas útiles como pip y easy_install.

Y finalmente, para poder utilizar un entorno virtual en particular, actívelo con:

Scotts-Computer:Projects: scott$ cd myapp/
Scotts-Computer:myapp scott$ source bin/activate
(myapp)Scotts-Computer:myapp scott$ 

Tenga en cuenta que esto antepone su símbolo del sistema con el nombre del virtualenv ((myapp) en este caso), lo que indica que su entorno Python actual es el entorno virtual “myapp”.

Ahora, cada vez que ejecute un script de Python, se utilizarán el ejecutable, la configuración y los paquetes de Python del entorno virtual en lugar del ejecutable global de Python.

Para dejar de usar el entorno virtual, simplemente desactívelo ejecutando:

(myapp)Scotts-Computer:myapp scott$ deactivate
Scotts-Computer:myapp scott$

Conclusión

En Python, y en casi todos los demás lenguajes de programación, es importante tener un control total sobre su entorno para saber exactamente qué está sucediendo con su código y cómo replicarlo en cualquier máquina.

Los entornos virtuales le ayudan a hacer esto al separar las configuraciones globales y el código del código local.

 

About the author

Ramiro de la Vega

Bienvenido a Pharos.sh

Soy Ramiro de la Vega, Estadounidense con raíces Españolas. Empecé a programar hace casi 20 años cuando era muy jovencito.

Espero que en mi web encuentres la inspiración y ayuda que necesitas para adentrarte en el fantástico mundo de la programación y conseguir tus objetivos por difíciles que sean.

Add comment

Sobre mi

Últimos Post

Etiquetas

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con tus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad