Entornos virtuales y entornos locales en Python, y pip

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!”,

Entornos virtuales y entornos locales en Python

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:

Entornos virtuales y entornos locales en Python

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,

Entornos virtuales y entornos locales en Python

Después,

Entornos virtuales y entornos locales en Python

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.

5/5

Artículos Relacionados

¡PIDE TU
COTIZACIÓN
GRATIS!

Llena nuestro formulario y muy pronto estaremos en contacto contigo

* Campo obligatorio

LICEO QUIAL

Cliente: Juan Carlos Quintero

País:  Cali – Colombia

Proyecto:  Diseño de sitio Web Informativo

Año: 2021

PUPPIES BY CAROLINA FAJARDO

Cliente: Carolina Fajardo

País:  Cali – Colombia

Proyecto:  Diseño de sitio Web Ecommerce Multilenguaje + Módulo de Agendamiento

Año: 2022

B&S PERFECCIÓN ORAL

Cliente: Dr. Andrés Barragán

País:  Cali – Colombia

Proyecto:  Diseño de sitio Web Multilenguaje

Año: 2021

GRUPO MOMENTUM

Cliente: Julian Santa

País:  Cali – Colombia

Proyecto:  Diseño de sitio Web Informativo

Año: 2020

DR. FELIPE SUSO

Cliente: Dr. Felipe Suso Palau

País:  Cali – Colombia

Proyecto:  Branding, Social Media y Diseño de sitio Web

Año: 2020

THE BLINDECOR

Cliente: Jhon Niño

País:  Florida, USA

Proyecto:  Diseño de sitio Web Informativo

Año: 2021

CONTACTAMOS EQUIPOS

Cliente: Contactamos Equipos

País:  Valle del Cauca, Colombia

Proyecto:  Diseño de sitio Web Ecommerce

Año: 2022

STUDY UP

Cliente: Study Up

País: Melbourne, Australia

Proyecto:  Diseño de sitio Web Informativo

Año: 2020

COLUSA FARMS

Cliente: Colusa Farms

País:  California, USA

Proyecto:  Diseño de sitio Web Ecommerce

Año: 2021

REACTHINK

Cliente: Reacthink

País:  New York, USA

Proyecto:  Diseño de sitio Web Informativo

Año: 2022

CONCHA ESPECIAL DE NACAR

Cliente: Juan Camilo

País:  Colombia

Proyecto:  Diseño de sitio web Ecommerce

Año: 2020

LASTKINGS

Cliente: Last Kings

País:  Colombia

Proyecto:  Diseño de sitio web Ecommerce Multilenguaje

Año: 2022

NEBLINAS RESTAURANTE

Cliente: La Casita del Bosque

País:  Alberto Portilla

Proyecto:  Diseño de sitio web Ecommerce + Multilenguaje

Año: 2022

RESERVA NATURAL MADHÚ

Cliente: Martín Mejia

País:  Valle del Cauca, Colombia

Proyecto:  Diseño de sitio web informativo

Año: 2021

ALEXIS TATTOO

Cliente: Alexis Garces

País:  Colombia

Proyecto:  Diseño de sitio web Ecommerce con Módulo de Agendamiento

Año: 2022

LA CASITA DEL BOSQUE

Cliente: La Casita del Bosque

País:  Colombia

Proyecto:  Diseño de sitio web e-commerce con pasarela de donaciones

Año: 2022

CASA DE DIOS

Cliente: Casa de Dios

País:  Wilson, NC – USA

Proyecto:  Branding, Social Media y Diseño de sitio web informativo

Año: 2022

RED FESTIVA

Cliente: Red de Festivales de Cali

Proyecto:  Diseño de Web Informativa

Año: 2023

Campaña de lanzamiento línea crioterapia

Cliente: Salud y Belleza

Proyecto:  Concepto Campaña de Lanzamiento y Dirección Creativa.

Fotografía: Lina Estrada Producciones – Medellín

Año: 2022

Kit limpieza facial syb

Cliente: Salud y Belleza

Proyecto: Ilustración, Diseño de Empaques, Diseño Web, Diseño y Estrategia de Social Media.

Año: 2022

caminatta

Proyecto: Branding, Empaque, Diseño de Web.

Cliente: Caminatta

Año: 2018

¿Necesitas ayuda? ¡Escríbenos!