Un entorno virtual es una herramienta que ayuda a mantener separadas las dependencias requeridas por diferentes proyectos mediante la creación de entornos virtuales Python aislados para ellos. Esta es una de las herramientas más importantes que utilizan la mayoría de los desarrolladores de Python.
¿Por qué necesitamos un entorno virtual?
Imagine un escenario en el que está trabajando en dos proyectos Python basados en web y uno de ellos usa Django 1.9 y el otro usa Django 1.10 y así sucesivamente. En tales situaciones, el entorno virtual puede ser realmente útil para mantener las dependencias de ambos proyectos.
¿Cuándo y dónde usar un entorno virtual?
De forma predeterminada, todos los proyectos de su sistema utilizarán estos mismos directorios para almacenar y recuperar paquetes de sitios (bibliotecas de terceros). ¿Cómo importa esto? Ahora, en el ejemplo anterior de dos proyectos, tiene dos versiones de Django. Este es un problema real para Python, ya que no puede diferenciar entre versiones en el directorio «paquetes del sitio». Entonces, tanto la v1.9 como la v1.10 residirían en el mismo directorio con el mismo nombre. Aquí es donde entran en juego los entornos virtuales. Para resolver este problema, solo necesitamos crear dos entornos virtuales separados para ambos proyectos. Lo mejor de esto es que no hay límites para la cantidad de entornos que puede tener, ya que son solo directorios que contienen algunos scripts.
El entorno virtual debe usarse siempre que trabaje en cualquier proyecto basado en Python. En general, es bueno tener un nuevo entorno virtual para cada proyecto basado en Python en el que trabaje. Entonces, las dependencias de cada proyecto están aisladas del sistema y entre sí.
¿Cómo funciona un entorno virtual?
Usamos un módulo llamado virtualenv que es una herramienta para crear entornos Python aislados. virtualenv crea una carpeta que contiene todos los ejecutables necesarios para usar los paquetes que necesitaría un proyecto de Python.
Instalando entorno virtual
$ pip install virtualenv
Pruebe su instalación:
$ virtualenv --version
Usando entorno virtual
Puede crear un virtualenv usando el siguiente comando:
$ virtualenv my_name
Después de ejecutar este comando, se creará un directorio llamado my_name. Este es el directorio que contiene todos los ejecutables necesarios para usar los paquetes que necesitaría un proyecto de Python. Aquí es donde se instalarán los paquetes de Python.
Si desea especificar el intérprete de Python de su elección, por ejemplo, Python 3, puede hacerlo con el siguiente comando:
$ virtualenv -p /usr/bin/python3 virtualenv_name
Para crear un entorno virtual de Python 2.7, use el siguiente comando:
$ virtualenv -p /usr/bin/python2.7 virtualenv_name
Ahora, después de crear un entorno virtual, debe activarlo. Recuerde activar el entorno virtual correspondiente cada vez que trabaje en el proyecto. Esto se puede hacer usando el siguiente comando:
$ source virtualenv_name/bin/activate
Una vez que se activa el entorno virtual, el nombre de su entorno virtual aparecerá en el lado izquierdo de la terminal. Esto le permitirá saber que el entorno virtual está actualmente activo. En la imagen a continuación, el entorno virtual denominado venv está activo.
Ahora puede instalar dependencias relacionadas con el proyecto en este entorno virtual. Por ejemplo, si está utilizando Django 1.9 para un proyecto, puede instalarlo como instala otros paquetes.
(virtualenv_name)$ pip install Django==1.9
El paquete Django 1.9 se colocará en la carpeta virtualenv_name y se aislará del sistema completo.
Una vez que haya terminado con el trabajo, puede desactivar el entorno virtual con el siguiente comando:
(virtualenv_name)$ deactivate
Now you will be back to system’s default Python installation.
Este artículo es una contribución de Mayank Agrawal . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA