Explicaci贸n de los entornos virtuales de Python

    驴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.

     

    Etiquetas:

    Deja una respuesta

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