Introducción
Los entornos virtuales de Python son herramientas esenciales para gestionar las dependencias en proyectos de Python. Crean espacios aislados donde se pueden instalar paquetes sin afectar la instalación global de Python en el sistema. Esta aislamiento ayuda a prevenir conflictos entre diferentes proyectos que pueden requerir diferentes versiones del mismo paquete.
En este laboratorio (lab), aprenderás cómo crear, activar y desactivar entornos virtuales de Python. Estas habilidades son fundamentales para los desarrolladores de Python y te ayudarán a mantener entornos de desarrollo limpios, organizados y reproducibles para tus proyectos.
Comprender y crear entornos virtuales de Python
Comencemos por entender qué son los entornos virtuales de Python y por qué son importantes antes de crear uno.
¿Qué es un entorno virtual de Python?
Un entorno virtual de Python es una instalación aislada del intérprete de Python. Cuando se activa un entorno virtual, cualquier paquete que se instale se colocará en el directorio privado de ese entorno, no en la instalación global de Python del sistema. Este aislamiento ofrece varios beneficios:
- Puedes utilizar diferentes versiones del mismo paquete para diferentes proyectos.
- Puedes compartir fácilmente la lista exacta de paquetes requeridos con otros.
- Puedes mantener tu instalación global de Python limpia y organizada.
Creando tu primer entorno virtual
Python 3.3 y versiones posteriores incluyen el módulo venv, que es la herramienta recomendada para crear entornos virtuales. Vamos a crear nuestro primer entorno virtual:
Primero, asegúrate de estar en el directorio del proyecto:
mkdir -p ~/project/python_env_demo cd ~/project/python_env_demoCrea un nuevo entorno virtual llamado
myenvejecutando:sudo apt-get update sudo apt-get install python3.10-venv -y python3 -m venv myenvExaminemos lo que se ha creado:
ls -la myenvDeberías ver una salida similar a:
total 20 drwxrwxr-x 5 labex labex 4096 Sep 14 10:00 . drwxrwxr-x 3 labex labex 4096 Sep 14 10:00 .. drwxrwxr-x 2 labex labex 4096 Sep 14 10:00 bin drwxrwxr-x 2 labex labex 4096 Sep 14 10:00 include drwxrwxr-x 3 labex labex 4096 Sep 14 10:00 lib -rw-rw-r-- 1 labex labex 70 Sep 14 10:00 pyvenv.cfg
El comando venv creó un directorio llamado myenv con varios subdirectorios. Los más importantes son:
bin: Contiene el intérprete de Python, pip y los scripts de activación.lib: Contiene los paquetes instalados para este entorno.pyvenv.cfg: Archivo de configuración para el entorno virtual.
Ahora has creado con éxito un entorno virtual de Python listo para ser activado y utilizado.
Activar un entorno virtual de Python
Ahora que has creado un entorno virtual, debes activarlo antes de poder usarlo. La activación modifica las variables de entorno de tu shell para utilizar el intérprete de Python y los paquetes de tu entorno virtual en lugar de la instalación global de Python del sistema.
Cómo activar un entorno virtual
Asegúrate de estar en el directorio del proyecto:
cd ~/project/python_env_demoActiva el entorno virtual ejecutando:
source myenv/bin/activateObserva que tu indicador de comando ha cambiado. Ahora muestra el nombre del entorno virtual entre paréntesis al principio del indicador:
(myenv) labex:python_env_demo/ $Este indicador visual te ayuda a recordar que estás trabajando dentro de un entorno virtual.
Verificar la activación
Para confirmar que tu entorno virtual está activo y funcionando correctamente, puedes comprobar:
Qué intérprete de Python se está utilizando:
which pythonDeberías ver una salida como:
/home/labex/project/python_env_demo/myenv/bin/pythonEsto muestra que el comando
pythonahora apunta al intérprete de Python de tu entorno virtual, no al del sistema.Qué pip (instalador de paquetes de Python) se está utilizando:
which pipDeberías ver una salida como:
/home/labex/project/python_env_demo/myenv/bin/pipEsto confirma que instalarás paquetes en tu entorno virtual, no en la instalación global de Python del sistema.
Comprueba la versión de Python:
python --versionLa salida mostrará la versión de Python que se está utilizando en tu entorno virtual.
Ahora has activado con éxito tu entorno virtual de Python. Cualquier comando de Python que ejecutes y cualquier paquete que instales utilizará este entorno aislado en lugar de la instalación global de Python de tu sistema.
Instalar paquetes en un entorno virtual
Uno de los principales beneficios de los entornos virtuales es la capacidad de instalar y gestionar paquetes de Python de forma aislada de la instalación global de Python del sistema. Exploremos cómo instalar paquetes en tu entorno virtual activado.
Instalar paquetes con pip
Asegúrate de que tu entorno virtual sigue activado. Deberías ver
(myenv)al principio de tu indicador de comando. Si no está activado, actívalo con:source myenv/bin/activateVamos a instalar un paquete sencillo llamado
requests, que se utiliza comúnmente para realizar solicitudes HTTP:pip install requestsVerás una salida que muestra el proceso de descarga e instalación.
Verifica que el paquete se haya instalado comprobando la lista de paquetes instalados:
pip listDeberías ver
requestsy sus dependencias en la lista:Package Version ------------------ --------- certifi 2025.1.31 charset-normalizer 3.4.1 idna 3.10 pip 22.0.2 requests 2.32.3 setuptools 59.6.0 urllib3 2.3.0
Usar el paquete instalado
Vamos a crear un sencillo script de Python para probar el paquete requests:
Abre el editor y crea un nuevo archivo llamado
test_requests.pyen el directorio~/project/python_env_demo:import requests response = requests.get('https://httpbin.org/get') print(f"Status Code: {response.status_code}") print(f"Content Type: {response.headers['content-type']}") print("\nResponse Body Preview:") print(response.text[:300] + "...")Guarda el archivo y ejecútalo:
python test_requests.py
Deberías ver una salida similar a:
Status Code: 200 Content Type: application/json Response Body Preview: { "args": {}, "headers": { "Accept": "_/_", "Accept-Encoding": "gzip, deflate", "Host": "httpbin.org", "User-Agent": "python-requests/2.32.3", "X-Amzn-Trace-Id": "Root=1-67ca4e9a-3b65928a0af016e74bc867b7" }, "origin": "47.251.8.222", "url": "https://httpbin.org/g...
Esto demuestra que el paquete requests se ha instalado correctamente en tu entorno virtual y está funcionando adecuadamente.
Desactivar un entorno virtual de Python
Después de terminar de trabajar con un entorno virtual, es posible que desees volver al entorno global de Python del sistema. Este proceso se llama desactivación.
Cómo desactivar un entorno virtual
Asegúrate de que tu entorno virtual está actualmente activado. Deberías ver
(myenv)al principio de tu indicador de comando.Para desactivar el entorno virtual, simplemente ejecuta:
deactivateObserva que tu indicador de comando ha vuelto a la normalidad. El prefijo
(myenv)ha desaparecido:labex:python_env_demo/ $
Verificar la desactivación
Para confirmar que tu entorno virtual se ha desactivado y que estás de nuevo utilizando el Python del sistema, ejecuta las siguientes comprobaciones:
Comprueba qué intérprete de Python se está utilizando:
which python3Deberías ver una salida como:
/usr/bin/python3Esto muestra que el comando
python3ahora apunta al intérprete de Python del sistema.Intenta ejecutar el script que creamos anteriormente:
python3 test_requests.pyDependiendo de si el paquete
requestsestá instalado en tu Python del sistema, es posible que veas un error:Traceback (most recent call last): File "/home/labex/project/python_env_demo/test_requests.py", line 1, in <module> import requests ModuleNotFoundError: No module named 'requests'Este error se produce porque el paquete
requestsse instaló en tu entorno virtual, no en el Python del sistema. Este es uno de los principales beneficios de los entornos virtuales: aislar los paquetes para diferentes proyectos.
Reactivar el entorno virtual
Si necesitas trabajar de nuevo en tu proyecto, puedes reactivar fácilmente el entorno virtual:
source myenv/bin/activate
Tu indicador de comando mostrará una vez más (myenv), lo que indica que el entorno virtual está activo.
Resumen de comandos comunes de entornos virtuales
A continuación, se muestra una referencia rápida de los comandos que hemos cubierto:
| Comando | Descripción |
|---|---|
python3 -m venv myenv |
Crear un nuevo entorno virtual llamado "myenv" |
source myenv/bin/activate |
Activar el entorno virtual |
pip install package_name |
Instalar un paquete en el entorno virtual activo |
pip list |
Listar los paquetes instalados en el entorno virtual activo |
deactivate |
Desactivar el entorno virtual actual |
Estos comandos forman la base para trabajar con entornos virtuales de Python, lo que te permite crear, usar y gestionar entornos de Python aislados para tus proyectos.
Resumen
En este laboratorio, has aprendido las habilidades esenciales para trabajar con entornos virtuales de Python:
- Comprender el concepto y los beneficios de los entornos virtuales
- Crear un nuevo entorno virtual con el módulo
venv - Activar un entorno virtual para aislar tu trabajo en Python
- Instalar paquetes dentro de un entorno virtual utilizando pip
- Probar los paquetes instalados con un sencillo script de Python
- Desactivar un entorno virtual cuando hayas terminado de trabajar con él
Estas habilidades forman la base de las buenas prácticas de desarrollo en Python. Al utilizar entornos virtuales, puedes:
- Mantener las dependencias de tus proyectos aisladas entre sí
- Evitar conflictos entre diferentes versiones de paquetes
- Hacer que tus proyectos sean más reproducibles y fáciles de compartir
- Mantener un entorno de desarrollo de Python limpio y organizado
Los entornos virtuales son una herramienta esencial para los desarrolladores de Python de todos los niveles, desde principiantes hasta expertos. A medida que continúes tu viaje en Python, el uso de entornos virtuales se convertirá en una parte natural de tu flujo de trabajo de desarrollo.



