Hablemos de Entornos virtuales y entornos locales en Python:
Algunas personas utilizan un entorno virtual al trabajar con Python, especialmente para proyectos grandes de Python, mientras que otras no. Aquellos que no utilizan entornos virtuales pueden hacerlo por alguna razón, como que para ese proyecto no necesitan utilizar un entorno virtual, o simplemente no saben cómo usarlo. No te preocupes si eres la única persona que no sabe qué son los entornos virtuales y los entornos locales o cómo usarlos. Ahora investigaremos.
Hay un pequeño concepto que necesitas entender antes de discutir sobre el entorno virtual y el entorno local, y se llama pip. Comprender cómo funciona pip te pondrá un paso más cerca de comprender los entornos virtuales y los entornos locales.
Pip
Cuando instalas Python, también se instala pip
de forma predeterminada. No necesitas preocuparte por los paquetes que no forman parte de la Biblioteca Estándar de Python antes de comenzar a instalarlos.
No es necesario que entiendas “qué es la Biblioteca Estándar de Python” o “qué paquetes forman parte de la Biblioteca Estándar de Python”. Simplemente puedes buscarlo en tu motor de búsqueda favorito. ¿Cómo sabes si un paquete o un módulo forma parte de la Biblioteca Estándar de Python o no? Hay un método sencillo para hacerlo.
Nota: Utilizo los términos “paquetes” y “módulos” con frecuencia. A menudo, esos dos términos son sinónimos.
Para saber si el paquete está integrado o no, importa ese paquete y ejecuta ese archivo. Si tu archivo funciona correctamente, ese paquete está integrado o ya lo has instalado; de lo contrario, si obtienes un error, ese paquete no está integrado y necesitas instalarlo para usarlo.
Por ejemplo, el módulo math
y el módulo numpy
.
Si ejecutas esa línea de código, obtendrás la salida “Funciona!”. Porque ese es un módulo integrado que se incluye automáticamente cuando instalas Python.
Ahora, importemos la biblioteca numpy
,
Si no has instalado el paquete de NumPy te dará como resultado un seguimiento de errores en lugar de “Funciona!”,
Error de seguimiento de importación de módulo
Entonces, debes saber que eso se debe a que la biblioteca NumPy no es un paquete integrado.
¡Pip al rescate!
Entornos virtuales y entornos locales en Python
¿Qué haces si quieres usar esa biblioteca NumPy? ¿Cómo puedes obtener ese paquete? Este es el lugar donde pip
entra en juego.
Si deseas instalar numpy
, simplemente instálalo así,
¿Y qué pasa con otros paquetes? Puedes mirar a tu alrededor en el sitio web de PyPi. Puedes usar pip para instalar cualquiera de los paquetes disponibles en ese sitio web.
Para desinstalar paquetes,
Pip y Pip3
A veces puedes ver que algunas personas utilizan pip3 en lugar de pip. ¿Cuál es la diferencia entre pip3 y pip? Ambos son los mismos. Son las versiones específicas de Python3 y Python2. Pero en la actualidad, Python2 ya no se mantiene, pero seguir utilizando pip en lugar de pip3 sigue funcionando.
Nota: si estás utilizando Mac y la versión actualizada de Python3.11.xx, encontré que el comando pip ya no funciona. Funciona solo cuando utilizo pip3. No estoy seguro si se trata de un error que debe corregirse o si lo han cambiado permanentemente. Sistemas de administración de paquetes adicionales.
Otros sistemas de gestión de paquetes
Existen otros sistemas de gestión de paquetes además de pip. Por ejemplo, si provienes de un entorno de ciencia de datos, probablemente deberías conocer conda
.
Entornos virtuales y entornos locales en Python
Ya conoces el propósito de pip y cómo utilizarlo. Ahora estás preparado para explorar tanto los entornos locales como los entornos virtuales.
Para aclarar qué es el entorno virtual y el entorno local: supón que eres un ingeniero mecánico que arregla automóviles, el entorno local es tu hogar, el entorno virtual es una caja de herramientas, y todas las herramientas que necesitas son paquetes.
Trabajar en casa no es un problema porque tienes todas las herramientas que necesitas y todo va a salir bien. ¿Qué pasa si necesitas trasladarte a otro lugar para arreglar tu coche, o si el lugar actual no tiene todos los suministros que necesitas? La solución es que debes incluir todas las herramientas necesarias en la caja de herramientas, ¿verdad? Entorno local
Entorno Local
Entonces, vamos a sumergirnos en el entorno local. Como mencioné en el ejemplo anterior, el entorno local es tu hogar. Ese es solo un ejemplo para que entiendas la diferencia entre el entorno virtual y el entorno local.
El entorno local es simplemente tu computadora. No hay necesidad de hacer nada especial. Por eso se le llama simplemente entorno local. Así que, vamos a verificar si tienes todas las herramientas que necesitas o no.
Para verificar todos los paquetes,
pip list
Todos los paquetes que has instalado en tu computadora o entorno local se te mostrarán. Puedes instalar un paquete de nuevo si no estás seguro de si ya está instalado; si lo está, te dirá que el “Requisito ya está satisfecho” Requirenment already satified
. Espero que esto tenga sentido y entiendas el entorno local.
Entorno virtual
Trabajar solo no es un problema. Supongamos que tienes que colaborar con otros. De la misma manera que necesitarías llevar una caja de herramientas cuando arreglas un coche lejos de casa, también necesitarías llevar o instalar todos los paquetes necesarios cuando trabajas en un proyecto con otros. Por lo tanto, solo necesitas un elemento para compartir paquetes, como una caja de herramientas para llevar las herramientas necesarias para arreglar un automóvil. Quizás necesites compartir con otros los paquetes que deben instalar. Si solo hay 2 o 3 paquetes necesarios, no habrá problema, pero ¿qué pasa si hay 20 o 25? En este contexto, el entorno virtual es útil.
Aspectos positivos de usar entornos virtuales:
- Puedes compartir fácilmente los paquetes con otros.
- También Puedes usar diferentes versiones del mismo paquete.
Puedes construir un entorno virtual en tu computadora de varias maneras. Sin embargo, prefiero usar Virtualenv. Puedes buscar fácilmente en Google o en tu motor de búsqueda preferido para encontrar más información sobre otras herramientas también.
Para instalar virtualenv,
pip install virtualenv
Si has terminado, puedes usar pip list
para asegurarte de que lo has instalado o no.
Para crear un entorno virtual dentro de tu proyecto,
Primero, ve a la carpeta de tu proyecto y escribe:
virtualenv .venv
En este contexto, virtualenv
significa que empezaremos a crear una carpeta de entorno virtual y “.venv” significa que nombraremos ese entorno virtual como .venv
. En este sistema de nombres, muchas personas usan diferentes estilos, como venv, env o cualquier otro nombre que prefieras. Pero en mi caso, prefiero usar “.venv”.
Para activar el entorno virtual,
en Mac, escribe:
. .venv/bin/activate
En el comando anterior, .
significa la carpeta actual y .venv/bin/activate
significa que se está llamando al archivo activate
dentro de la carpeta bin
de nuestra carpeta .venv
. Puedes ir y verificar si hay un archivo llamado activate
dentro de tu carpeta de entorno virtual.
En Windows (en CMD), escribe:
.venv/Scripts/activate.bat
En Windows (in PowerShell),
.venv/Scripts/Activate.ps1
Todas las explicaciones son las mismas que en Mac, pero existen CMD y PowerShell. Entre CMD y PowerShell, no deberías preocuparte. Estos son simplemente diferentes tipos de terminales utilizados para diversos propósitos. Prefiero CMD si solo quieres utilizarlo en situaciones típicas.
Para desactivar el entorno virtual, escribe:
deactivate
Comienza a usar el entorno virtual,
Si activaste .venv
, verás el nombre (.venv) delante del nombre de tu terminal, así:
Antes de Activarlo:
Ahora, espero que veas la diferencia.
Vuelve a activar tu entorno virtual y veamos una diferencia más. Escribe pip list
para verificar los paquetes que instalaste antes de activar el entorno y después de activarlo. ¿Ves la diferencia?
Antes,
Después,
Espero que ahora veas la diferencia nuevamente.
Instala un paquete que desees (quizás NumPy) dentro de tu entorno virtual y verifica con pip list. Desactiva tu entorno y verifica pip list nuevamente. Intenta hacerlo más y más hasta que entiendas el punto. Compartir tu entorno virtual,
Ya sabes cómo usar e instalar paquetes dentro de tu entorno virtual. Ahora es el momento de compartir los paquetes requeridos con otros.
Para compartir/exportar tu entorno virtual,
Nota: ve a la carpeta de tu proyecto, activa tu entorno virtual y escribe el siguiente comando, de lo contrario esto exportará todos los paquetes instalados dentro de tu entorno local.
pip freeze > requirements.txt
Esto implica exportar cada elemento necesario en un archivo titulado requirements
. Nuevamente, puedes usar tus propios nombres para los requirements
. Sin embargo, requirements
es el formato preferido. Dentro de la carpeta de tu proyecto, verás un nuevo archivo con el nombre requirements.txt
que ahora puedes compartir fácilmente con otros. El problema se resuelve con el simple envío de ese archivo.
Instalación de paquetes de otros,
Cuando tratas con otros, enviarles el archivo de requisitos no siempre es necesario; ocasionalmente, recibirás el archivo de ellos.
Para instalar el archivo de requisitos, primero, coloca ese archivo dentro de tu proyecto de trabajo y escribe:
pip install -r requirements.txt
requriements.txt
es el nombre del archivo que recibiste de otros. Conclusión
Toda la información que necesitas sobre “qué es un entorno virtual”, “qué es un entorno local”, “qué es pip” o “cuál es la diferencia entre pip y pip3” se proporciona arriba. Si otros están experimentando los mismos problemas que tú, también puedes compartir este blog con ellos. Estaré agradecido contigo.
Es una buena práctica usar el entorno virtual al comenzar un nuevo proyecto que necesita instalar paquetes.
Cada vez que comienzo un nuevo proyecto que requiere instalar paquetes, uso el entorno virtual.