Introducción a los entornos virtuales en Python
En este artículo, aprenderá cómo comenzar con entornos virtuales en Python, tanto en Windows y sistemas operativos Linux.
Cuando comienza a trabajar en varios proyectos en su entorno de desarrollo local, a menudo se encontrará con problemas de dependencia. La creación de entornos virtuales para cada uno de sus proyectos puede ayudarlo a administrar mejor las dependencias y los requisitos del proyecto.
A leverAprovecha la ventaja de los entornos virtuales en Python, aprendamos a crearate y activoate entornos virtuales. 👩🏽💻
¿Qué son los entornos virtuales?
Entornos virtuales son aisladosated y entornos independientes que contienen el código y las dependencias de un proyecto.
Pero, ¿por qué debería usar entornos virtuales?
Bueno, los entornos virtuales te permiten instalar y usar diferentes versiones de las mismas bibliotecas para varios proyectos. El uso de entornos virtuales también garantiza que no se produzcan cambios importantes cuando dos o más proyectos utilicen versiones diferentes. Entendamos esto en greater detalle.
Instalación de paquetes en Python
La biblioteca estándar de Python viene con varios módulos útiles para pruebas unitarias, interactuar con el sistema operativo y trabajar con dates y tiempos, y más.
Sin embargo, al trabajar en Proyectos de Python, a menudo necesitarás instalar otros paquetes, desarrollados por la comunidad Python. Esto es especially Es cierto para aplicaciones como web scraping para recopilación de datos, aprendizaje automático y aplicaciones web.
Para instalar y administrar estos paquetes, puede usar conda o pepita.
Cada proyecto requiere un conjunto específico de paquetes que debe instalar. Sin embargo, cuando instala todos los paquetes en su entorno de desarrollo en su máquina local, todos los proyectos comparten el globo.ally paquetes instalados.

¿Por qué es esto un problema?
Bueno, es posible que tengas N paquetes en tu entorno de desarrollo. Sin embargo, es posible que el proyecto en el que está trabajando actualmente requiera solo 3 de ellos. Cuando todos sus proyectos comparten instalaciones comunes, es muy difícil identificar cuál de los proyectos requirió cuál de los paquetes instalados: las dependencias asociadas.ated con cada proyecto.
Hay otra limitación a este enfoque. Suponga que tiene un proyecto Django 2.2 en su biblioteca de proyectos. Decide comenzar a trabajar en un proyecto que usa Django 4. Así que instala la versión más reciente de Django en el mismo entorno de desarrollo.
¿Qué sucede con la instalación existente?
Se elimina y se reemplaza por la versión de Django que instaló. Con las versiones estables más recientes, es posible que algunas funciones hayan quedado obsoletas.ated. Y es posible que sus proyectos anteriores de Django no funcionen como se esperaba.

Resumiendo nuestra discusión hasta ahora: la administración de dependencias se vuelve difícil cuando todos los paquetes están instalados en un entorno común porque los proyectos requieren su propio conjunto de bibliotecas correr.
Cómo funcionan los entornos virtuales
Hasta ahora, hemos visto los desafíos asociadosated con la instalación de paquetes en un entorno de desarrollo global (instalaciones en todo el sistema). Este motivoateNos permite comprender cómo los entornos virtuales abordan esta limitación.
cuando creasate y activoate un entorno virtual para sus proyectos Python, puede instalar , solamente esos paquetes que son Requisitos para el proyecto actual.

RevSiguiendo el ejemplo de proyectos de Django, con entornos virtuales, puede ejecutar proyectos de Django 2.2 y Django 4, sin ningún conflicto. Esto se debe a que las instalaciones de Django ya no son instalaciones de todo el sistema, sino que se limitan a los entornos virtuales de los respectivos proyectos.
En esencia: los entornos virtuales son aislamientoated entornos que contienen tanto el código como las dependencias de un proyecto.
Ventajas de los Entornos Virtuales

Ahora que ha aprendido cómo funcionan los entornos virtuales en Python, enumeremosate las ventajas de usarlos:
- Los entornos virtuales proporcionan una aislamientoated entorno de desarrollo para proyectos individuales, lo que nos permite instalar solo los paquetes necesarios para el proyecto específico.
- Como los entornos virtuales de los proyectos son independientes y aislados.ated, diferentes proyectos pueden utilizar una experiencia diferente versiones de la mismo biblioteca—dependiendo de los requisitos. Con los entornos virtuales, no tiene que preocuparse por los permisos del sistema para instalar bibliotecas y configurar el entorno de desarrollo.
- Una vez que instala paquetes en un entorno virtual, puede capturar las dependencias del proyecto en un archivo de requisitos.txt. Esto permite a otros desarrolladores replicarate el desarrollo y el entorno del proyecto, e instalar los paquetes necesarios mediante un único comando.
Herramientas para crearate Entornos virtuales

Hasta ahora has aprendido cómo funcionan los entornos virtuales y las ventajas de utilizarlos. Exploremos algunas herramientas populares que puede utilizar para crearate y gestionar entornos virtuales en Python.
#1. Entorno virtual
Virtualenv es una de las herramientas más utilizadas para crear y administrar entornos virtuales para proyectos de Python. Un subconjunto de la funcionalidad de virtualenv
está disponible en el venv paquete. sin embargo, el virtualenv
paquete es más rápido y extensible en comparación con venv
.
#2. pipenv
Con pipnev, tiene la funcionalidad de entorno virtual de virtualenv
y capacidades de gestión de paquetes de pip
. Utiliza pipfiles para administrar las dependencias del proyecto dentro de un entorno virtual usando.
Puedes probar pipenv
directamente desde la browsEh en esto parque infantil pipenv.
#3. conda
Si utiliza la opcion de Distribución Anaconda de Python para el desarrollo, entonces puedes usar Conda para la gestión de paquetes y para la creación de entornos virtuales.
Para obtener más información, consulte esta guía completa sobre gestionar entornos con conda.
#4. Poesía
Poetry is a package management tool that lets you manage dependencies across all Python projects. To start using Poetry, you need to have Python 3.7 or a later versión instalada.
#5. venv
Como se mencionó, venv ofrece un subconjunto de la funcionalidad de virtualenv pero tiene la ventaja de que está integrado en la biblioteca estándar de Python, a partir de Python 3.3.
Está disponible con la instalación de Python y no requiere la instalación de paquetes externos. Lo usaremos en este tutorial para crearate y trabajar con entornos virtuales. ✅
Cómo crearate un entorno virtual Python en Ubuntu
💬 To follow along with the remainder of this tutorial, you need to have a local installation of Python 3. Ensure that you’re running Python 3.5 or a later versión.
Esta sección describe los pasos para crearate y activoate entornos virtuales en una máquina Ubuntu Linux. Los mismos pasos se pueden utilizar en otros Distribuciones de Linux .
Para una gestión más sencilla, creemosate un directorio de proyectos y cd
en ello; vamos a crearate venv
dentro de este directorio.
$ mkdir my_project
$ cd my_project
La sintaxis general de create un entorno virtual para su proyecto Python es python3 -m venv <venv-name-or-path>
. Al ejecutar este comando, un entorno virtual llamado my_env
será created en el directorio de trabajo actual:
$ python3 -m venv my_env
Cómo activarate e instalar paquetes dentro de un entorno virtual
Después de haber createEn el entorno virtual, puedes activarate e instalar los paquetes necesarios en él. Para activarate entorno virtual puede ejecutar el siguiente comando:
$ source my_env/bin/activate
Una vez que hayas activadoateEn el entorno virtual, puede ejecutar el pip list
comando para obtener la lista de paquetes instalados:
$ pip list

Hasta ahora no hemos instalado ningún paquete, por lo que debería poder ver setuptools
y pip
—instalado por defecto—en cada una de las created entornos virtuales.
La instalación de pip
dentro del entorno virtual le permite instalar los paquetes necesarios para el proyecto específico; por eso tienes un entorno de desarrollo independiente para cada proyecto.
Ahora que tienes actividadateEn el entorno virtual, puede instalar paquetes específicos del proyecto usando pip. Como ejemplo, instalemos Solicitudes de Python, uno de los paquetes de Python más descargados, que proporciona varias funciones útiles para enviar solicitudes HTTP para trabajar con API web.
$ pip install requests
Cuando instale la biblioteca de solicitudes, verá que la biblioteca de solicitudes se instala junto con todos los paquetes que requiere.

$ pip list

Puede utilizar el pip freeze
comando y redirija la salida a un archivo requirements.txt, como se muestra:
$ pip freeze > requirements.txt
Si examina el contenido del directorio del proyecto actual, verá que el archivo requisitos.txt se ha creado.ated.
$ ls
# my_env requirements.txt
Puedes desactivarate el entorno virtual después de haber trabajado en el proyecto ejecutando el siguiente comando:
$ deactivate
Cómo crearate un entorno virtual Python en Windows
En general, se prefiere un entorno Linux para el desarrollo. Si estás en un Windows máquina, puede considerar usar el WindowSubsistema para Linux (WSL) para configurar un entorno de terminal Ubuntu para el desarrollo local.
Si estás en un Windows máquina, puede utilizar el Windows PowerShell o el símbolo del sistema y create entornos virtuales usando el siguiente comando:
> python -m venv <path-to-venv>
Cómo activarate un entorno virtual
Activar entornos virtuales en un WindowLa máquina es diferente dependiendo de si está trabajando en el símbolo del sistema o en el Windows PowerShell.
Si está en el símbolo del sistema, ejecute el siguiente comando para activarate el entorno virtual:
> <path-to-venv>\Scripts\activate.bat
Alternativamente, si está utilizando Windows PowerShell, al ejecutar este comando se activaráate el entorno virtual:
> <path-to-venv>\Scripts\Activate.ps1
Puede instalar todos los paquetes necesarios dentro del entorno virtual.
Para desactivarate entornos virtuales, puede ejecutar el deactivate
comando, tanto en el símbolo del sistema como Windows PowerShell.
Para Concluir
En este artículo, discutimos las limitaciones de las instalaciones en todo el sistema y cómo dificultan la administración de dependencias en los proyectos de Python. Entornos virtuales en Python proporciona una forma de gestionar mejor las dependencias al tiempo que proporciona un aislamientoated entorno de desarrollo para proyectos individuales.
Entre las herramientas más utilizadas para crear y gestionar entornos virtuales en Python, has aprendido a utilizar venv – que está integrado en la biblioteca estándar de Python para crearate y activoate entornos virtuales.
Dentro de la dedic de un proyectoateEn un entorno virtual, se pueden instalar versiones de bibliotecas específicas de un proyecto. Estos requisitos se pueden capturar en un archivo require.txt, que permite a otros desarrolladores replicarate el entorno del proyecto fácilmente.
Cuando comiences tu próximo Proyecto Python, asegúrese de utilizar entornos virtuales para una mejor gestión de dependencias. ¡Feliz codificación!🎉