Crear un entorno virtual y aprender a diagnosticar
Crear .venv, instalar una dependencia, seleccionar el intérprete y resolver errores básicos.
Cómo utilizar esta lección
Hacé un paso a la vez. Después de cada paso compara tu pantalla con el resultado esperado.
No marques el checklist por leer: márcalo únicamente después de probar.
Antes de comenzar
🎯 Qué vas a lograr en esta lección
¿Qué problema vas a resolver?
Aprenderás a crear un entorno reproducible y resolver errores con evidencia. La idea es partir de una necesidad concreta, no de memorizar código.
¿Qué vas a construir?
Environment Debugger: un proyecto pequeño para preparar una herramienta de trabajo. El nombre técnico identifica la carpeta del proyecto; no necesitás memorizarlo.
¿Por qué es útil?
Te ayuda a evitar errores de instalación y saber comprobar que tu computadora está lista.
¿Qué vas a aprender?
Practicarás reconocer la función de cada herramienta y verificarla con una prueba pequeña. Cada término nuevo se explica antes de usarlo.
Tu primera acción
No instalés ni ejecutes nada todavía. Primero lee las palabras esenciales y observa el ejemplo pequeño. Después identificarás qué dato entra, qué instrucción trabaja y qué resultado aparece.
Cómo usar esta lección
Avanza una parte a la vez
Leé las palabras nuevas y el ejemplo pequeño.
Seguí los pasos sin cambiar varias cosas a la vez.
Respondé las preguntas y usa pistas cuando lo necesites.
Marcá el checklist y toma una pausa antes de continuar.
Aprende las palabras esenciales
Leé definiciones cortas y explica cada palabra con un ejemplo propio.
Mirá un ejemplo pequeño
Comprende primero una comprobación sencilla y después sigue las instrucciones.
Ejemplo pequeño antes de continuar
Crear un entorno separado
Leé una línea a la vez. No memoricés el comando: identificá qué comprueba.
python3 -m venv .venv
source .venv/bin/activate
python --version
- ¿Qué escribís o seleccionás?
- ¿Qué herramienta realiza el trabajo?
- ¿Qué resultado confirma que funcionó?
🧭 Instrucciones paso a paso
Confirma la carpeta
En macOS ejecuta pwd y ls. En Windows ejecuta Get-Location y Get-ChildItem. Tenés que ver los archivos del proyecto.
Creá .venv
macOS: python3 -m venv .venv. Windows: python -m venv .venv.
Activá .venv
macOS: source .venv/bin/activate. PowerShell: .venv\Scripts\Activate.ps1.
Verificá el intérprete
Ejecutá python --version y un comando de ruta: which python o where.exe python.
Actualiza pip e instala una librería
Ejecutá python -m pip install --upgrade pip y luego python -m pip install rich.
Guardá dependencias
Ejecutá python -m pip freeze > requirements.txt. Abrí el archivo y confirma que contiene rich.
Seleccioná .venv en VS Code
Ejecutá Python: Select Interpreter y elige el que incluya .venv. Abrí una terminal nueva.
Provoca un error controlado
Creá debug_lab.py y usa una lista vacía en una función que calcula promedio. Ejecutá, lee la última línea del stack trace y añade una validación.
Desactivá y recrea cuando sea necesario
Ejecutá deactivate. Para reparar un entorno dañado, cierra VS Code, elimina solo .venv y créalo de nuevo desde requirements.txt.
⌨️ Comandos y archivos
Escribí los comandos uno por uno. Presioná Enter después de cada línea.
python3 -m venv .venv
source .venv/bin/activate
which python
python -m pip install --upgrade pip
python -m pip install rich
python -m pip freeze > requirements.txtpython -m venv .venv
.venv\Scripts\Activate.ps1
where.exe python
python -m pip install --upgrade pip
python -m pip install rich
python -m pip freeze > requirements.txtdef average(values):
if not values:
raise ValueError("Agrega al menos un número")
return sum(values) / len(values)
print(average([80, 90, 100]))🛠️ Solución de problemas
| Lo que ves | Qué hacer |
|---|---|
| No module named venv | La instalación de Python está incompleta o la distribución del sistema no incluye venv. Revisá la instalación oficial. |
| Activate.ps1 cannot be loaded | Consulta Get-ExecutionPolicy -List. Aplica únicamente una opción limitada al usuario si es necesaria y comprende el cambio. |
| pip instala fuera de .venv | Comprobá sys.executable y la ruta de python antes de instalar. |
| No module named rich | Activá .venv y ejecuta python -m pip install -r requirements.txt. |
| ZeroDivisionError | La lista estaba vacía. Añadí una validación antes de dividir. |
🤖 Usa Cursor como tutor
Estoy siguiendo la lección 00-08 para una persona principiante.
Explica el siguiente paso sin ejecutar comandos por mí.
Indica qué debería ver y cómo comprobarlo.
No modifiques archivos ni configuración sin mi aprobación.Aprende las palabras antes de usarlas
🧠 Conceptos explicados desde cero
No necesitás memorizar estas palabras. Comprende qué hace cada una y dónde la verás.
entorno virtual
Qué significa: Carpeta aislada con un intérprete y paquetes para un proyecto.
Para qué sirve: Evitar conflictos entre proyectos.
Ejemplo pequeño: python3 -m venv .venv
Confusión frecuente: Debe activarse en cada terminal nueva.
pip
Qué significa: Herramienta para instalar paquetes de Python.
Para qué sirve: Añadir librerías externas.
Ejemplo pequeño: python -m pip install requests
Confusión frecuente: Usa python -m pip para asegurar qué intérprete instala el paquete.
stack trace
Qué significa: Lista de llamadas y líneas que muestra dónde ocurrió un error.
Para qué sirve: Localizar el origen de una falla.
Ejemplo pequeño: Leer la última línea y luego subir.
Confusión frecuente: La primera línea no siempre contiene la causa principal.
dependencia
Qué significa: Paquete que el proyecto necesita para funcionar.
Para qué sirve: Agregar capacidades sin escribir todo desde cero.
Ejemplo pequeño: requirements.txt
Confusión frecuente: Una versión incompatible puede romper el proyecto.
Primero entiende el ejemplo
🖼️ Explicación ilustrada: entrada → proceso → resultado
Un entorno virtual es una mochila separada para cada proyecto.
Situación
Dos proyectos necesitan versiones diferentes de una librería.
Entrada
Creás y activas un entorno .venv por proyecto.
Proceso
Python y pip quedan aislados dentro de esa carpeta.
Resultado
Cada proyecto instala dependencias sin afectar al otro.
Ejemplo antes y después
Sin .venv: las librerías pueden entrar en conflicto.
Con .venv: cada proyecto tiene su propia caja de herramientas.
¿Cómo usarás este ejemplo en el mini proyecto?
Ahora practicarás con un mini proyecto. Primero observarás el ejemplo, después cambiarás una sola parte y finalmente explicarás el resultado.
Regla: cambia una sola parte, ejecuta de nuevo y explica qué diferencia observaste. No necesitás reconstruir el proyecto completo.
Practica con un mini proyecto
Hacé un cambio pequeño, ejecuta el código y observa qué cambió.
Practica paso a paso
🧩 Mini proyecto guiado: Crear un entorno virtual y aprender a diagnosticar
Completá estos ejercicios pequeños antes del desafío. Podés equivocarte: el sistema te explicará qué repasar y te dará una pista.
Reconoce una palabra nueva
En esta lección aparece programa. ¿Cuál es la mejor forma de aprenderlo?
Pista: aprender programación no consiste en memorizar palabras; consiste en relacionarlas con una acción y un resultado.
Hacé un cambio seguro
Querés practicar con el código de Crear un entorno virtual y aprender a diagnosticar. ¿Qué cambio es mejor para comenzar?
Pista: cambia una sola cosa para poder relacionar ese cambio con el resultado.
Comprobá lo que ocurrió
Después de modificar un dato, ¿qué tenés que hacer para saber si aprendiste correctamente?
Pista: un cambio solo se entiende cuando podés observar su efecto.
Tu mini proyecto
Tarea: abre el editor del navegador o el archivo completo. Cambiá un solo dato visible, ejecútalo y observa qué parte del resultado cambió.
Pista: usa un cambio fácil de reconocer, como un nombre, número, etiqueta o texto de ejemplo.
Progreso del mini proyecto
Completá los cuatro pasos.
🎉 ¡Mini proyecto completado!
Hiciste algo importante: comprendiste un concepto, cambiaste una sola parte, ejecutaste el código y explicaste el resultado. Esa es una práctica real de programación.
Aprende comprobando
🧪 Comprobaciones programando
Ejecutá un caso controlado y deja que el código compruebe condiciones importantes.
# macOS — Terminal
python3 --version
which python3
code --version
git --version
# Windows — PowerShell
# python --version
# where python
# code --version
# git --versionDespués de ejecutarlo
- ¿Qué condición comprueba cada
assert? - ¿Qué cambio hace fallar la comprobación?
- ¿El mensaje explica qué tenés que corregir?
- ¿Podés agregar otro caso?
Cerrá la lección
Comprobá que la herramienta funciona, marca el checklist y decide si continuar.
Comprobá lo que entendiste
Respondé una pregunta a la vez. Podés usar pistas y volver a intentarlo.
Evaluación online
❓ Comprueba lo que entendiste
Respondé sobre Entornos virtuales, debugging y diagnóstico. Verás una explicación completa y podrás intentarlo nuevamente.
Pregunta 1 de 5 · Selección
¿Cuál describe mejor la entrada principal?
Buscá lo que la persona proporciona antes de que el programa trabaje.
La entrada es el comando, selección o dato que proporciona la persona. Existe antes de la transformación.
Pregunta 2 de 5 · Selección
¿Qué describe mejor el procesamiento?
Elegí la opción que calcula, valida, organiza o transforma.
El procesamiento ocurre cuando la herramienta busca, configura o ejecuta el programa. Convierte la entrada en un resultado.
Pregunta 3 de 5 · Selección
¿Qué error esperado debería manejarse?
Un programa confiable anticipa problemas razonables.
Debe manejar comando inexistente, intérprete incorrecto o ruta sin configurar. Anticiparlo permite mostrar una solución clara.
Pregunta 4 de 5 · Respuesta breve
Menciona un caso, el resultado esperado y cómo compararías.
Una respuesta completa propone un caso conocido, ejecuta el código, define el resultado esperado y compara el resultado real. Puede usar assert o una prueba automatizada.
Pregunta 5 de 5 · Respuesta breve
Piensa en evidencia visible, documentación, pruebas o facilidad de uso.
No existe una única mejora. Una respuesta sólida propone al menos dos acciones verificables: pruebas, manejo de errores, README, captura o demo, decisiones documentadas o una interfaz clara.
Resultado de la evaluación
Completá las cinco preguntas.
✅ Checklist mejorado
Tu progreso se guarda en este navegador. Una lección se completa cuando todas las comprobaciones están marcadas.
Carpeta
Marcá cada punto solamente después de comprobarlo.
Activación
Marcá cada punto solamente después de comprobarlo.
Dependencias
Marcá cada punto solamente después de comprobarlo.
Debugging
Marcá cada punto solamente después de comprobarlo.
Recuperación
Marcá cada punto solamente después de comprobarlo.
Cómo podrás mejorar este proyecto
🚀 Mejoras futuras y dónde las aprenderás
No son obligatorias ahora. Son mejoras que aplicarás cuando aprendas las herramientas correspondientes.
Separar la configuración del código
Qué mejora: Evita editar el programa cuando cambia una ruta, clave o preferencia.
Dónde lo aprenderás: en la lección «Protege tokens con .env», del nivel APIs y servicios externos.
Añadir pruebas automatizadas
Qué mejora: Comprueba que una modificación no rompa lo existente.
Dónde lo aprenderás: en la lección «Escribe pruebas unitarias», del nivel Testing y despliegue.
Registrar la ejecución
Qué mejora: Ayuda a entender fallos sin imprimir datos sensibles.
Dónde lo aprenderás: en la lección «Configura observabilidad», del nivel Testing y despliegue.
Mejorar mensajes y validación
Qué mejora: Explica qué dato falta y cómo corregirlo.
Dónde lo aprenderás: en la lección «Entrada de datos segura», del nivel Fundamentos de Python.
Documentar decisiones y limitaciones
Qué mejora: Permite que otra persona comprenda y evalúe el proyecto.
Dónde lo aprenderás: en la lección «Construye casos de estudio», del nivel Portafolio profesional.
Crear una demostración
Qué mejora: Muestra el problema, funcionamiento y evidencia.
Dónde lo aprenderás: en la lección «Crea un índice HTML», del nivel Portafolio profesional.