Principiante absoluto⏱ 90 minPaso a paso

Crear un entorno virtual y aprender a diagnosticar

Crear .venv, instalar una dependencia, seleccionar el intérprete y resolver errores básicos.

Siguiente acción: Abre la carpeta del proyecto y confirma que la terminal está dentro de ella con pwd o Get-Location.
!

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.

🎯 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.

Avanza una parte a la vez

1
Aprende

Leé las palabras nuevas y el ejemplo pequeño.

2
Practica

Seguí los pasos sin cambiar varias cosas a la vez.

3
Comprueba

Respondé las preguntas y usa pistas cuando lo necesites.

4
Cierra

Marcá el checklist y toma una pausa antes de continuar.

No necesitás terminar todo de una vez. Completa una parte y continúa cuando estés listo.
Parte 1

Aprende las palabras esenciales

Leé definiciones cortas y explica cada palabra con un ejemplo propio.

🧱 Conceptos esenciales explicados desde cero

Esta sección no es opcional. Presenta las palabras y procesos que necesitás para comprender el ejemplo. Leé una definición, observa el ejemplo y explícalo con una frase propia antes de avanzar.

programa

Qué significa: Conjunto ordenado de instrucciones que una computadora puede ejecutar.

Para qué sirve: Permite transformar una entrada en un resultado repetible.

Ejemplo: Un archivo que muestra “Hola” al ejecutarse.

Confusión frecuente: Un programa no es lo mismo que una página visual: puede funcionar solo en terminal.

python

Qué significa: Lenguaje de programación y también nombre del intérprete que ejecuta archivos .py.

Para qué sirve: Sirve para escribir automatizaciones, APIs, análisis de datos e IA.

Ejemplo: python3 saludo.py ejecuta el archivo saludo.py en macOS.

Confusión frecuente: VS Code no instala Python; solo ayuda a escribir y ejecutar código.

interprete

Qué significa: Programa que lee y ejecuta código Python.

Para qué sirve: Convierte instrucciones escritas en acciones que el sistema puede realizar.

Ejemplo: python3 o python apuntan a un intérprete instalado.

Confusión frecuente: La extensión de VS Code no reemplaza al intérprete.

entrada

Qué significa: Dato que una persona, archivo, API o sistema entrega al programa.

Para qué sirve: Es el punto de partida del proceso.

Ejemplo: El texto escrito con input() o un archivo CSV.

Confusión frecuente: La entrada debe validarse; no se debe asumir que siempre es correcta.

salida

Qué significa: Resultado que produce el programa.

Para qué sirve: Permite comprobar que el proceso funcionó.

Ejemplo: Texto en terminal, archivo generado o respuesta JSON.

Confusión frecuente: Una salida visible no garantiza que todos los casos estén correctos.

Ejemplo mínimo del entorno

Este ejemplo es deliberadamente pequeño. Su objetivo es mostrar las piezas básicas sin mezclar todavía toda la lógica del proyecto.

archivo.py → intérprete de Python → sistema operativo → resultado
VS Code edita; la terminal ejecuta; Git registra cambios.
  1. Identificá los nombres nuevos: subraya variables, funciones, tipos, herramientas o pasos.
  2. Señala la entrada: qué dato recibe o qué valor ya está escrito.
  3. Señala el proceso: qué instrucción transforma, valida, consulta o calcula.
  4. Señala la salida: qué resultado puede verse o verificarse.
  5. Explícalo: completa “el programa recibe ___, hace ___ y entrega ___”.
No continués todavía si no podés explicar al menos tres términos y el flujo entrada → proceso → salida sin copiar el texto.
Parte 2

Mirá un ejemplo pequeño

Comprende primero una comprobación sencilla y después sigue las instrucciones.

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
Resultado explicado: Después de activar, Python debe apuntar al entorno del proyecto.
  1. ¿Qué escribís o seleccionás?
  2. ¿Qué herramienta realiza el trabajo?
  3. ¿Qué resultado confirma que funcionó?

🧭 Instrucciones paso a paso

1

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.

Resultado esperado: La ruta termina en python-ai-course o el proyecto actual.
Antes de continuar: No crees .venv en tu carpeta personal completa.
2

Creá .venv

macOS: python3 -m venv .venv. Windows: python -m venv .venv.

Resultado esperado: Aparece una carpeta .venv en Explorer.
Antes de continuar: No edites manualmente archivos dentro de .venv.
3

Activá .venv

macOS: source .venv/bin/activate. PowerShell: .venv\Scripts\Activate.ps1.

Resultado esperado: El prompt suele mostrar (.venv).
Antes de continuar: Si PowerShell bloquea el script, revisa la política de ejecución de forma limitada; no desactives seguridad global.
4

Verificá el intérprete

Ejecutá python --version y un comando de ruta: which python o where.exe python.

Resultado esperado: La ruta apunta dentro de .venv.
Antes de continuar: No continués si apunta al Python global.
5

Actualiza pip e instala una librería

Ejecutá python -m pip install --upgrade pip y luego python -m pip install rich.

Resultado esperado: La instalación termina con Successfully installed o indica que ya existe.
Antes de continuar: No usés sudo pip install.
6

Guardá dependencias

Ejecutá python -m pip freeze > requirements.txt. Abrí el archivo y confirma que contiene rich.

Resultado esperado: requirements.txt contiene las dependencias del entorno.
Antes de continuar: No copies toda tu instalación global; confirma primero que .venv está activo.
7

Seleccioná .venv en VS Code

Ejecutá Python: Select Interpreter y elige el que incluya .venv. Abrí una terminal nueva.

Resultado esperado: sys.executable apunta a .venv.
Antes de continuar: Una terminal antigua puede seguir usando otro intérprete.
8

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.

Resultado esperado: Primero aparece un error controlado; después el programa muestra un mensaje claro.
Antes de continuar: No borrés el stack trace antes de identificar archivo, línea y tipo de error.
9

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.

Resultado esperado: Podés reconstruir el entorno sin perder tu código.
Antes de continuar: Nunca elimines la carpeta del proyecto cuando solo necesitás recrear .venv.

⌨️ Comandos y archivos

Escribí los comandos uno por uno. Presioná Enter después de cada línea.

macOS
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.txt
Windows · PowerShell
python -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.txt
debug_lab.py
def average(values):
    if not values:
        raise ValueError("Agrega al menos un número")
    return sum(values) / len(values)

print(average([80, 90, 100]))
Comprobación final: El intérprete está dentro de .venv, rich está instalado, requirements.txt existe y podés explicar un stack trace básico.

🛠️ Solución de problemas

Lo que vesQué hacer
No module named venvLa instalación de Python está incompleta o la distribución del sistema no incluye venv. Revisá la instalación oficial.
Activate.ps1 cannot be loadedConsulta Get-ExecutionPolicy -List. Aplica únicamente una opción limitada al usuario si es necesaria y comprende el cambio.
pip instala fuera de .venvComprobá sys.executable y la ruta de python antes de instalar.
No module named richActivá .venv y ejecuta python -m pip install -r requirements.txt.
ZeroDivisionErrorLa 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.

🧠 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.

🖼️ 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

Antes

Sin .venv: las librerías pueden entrar en conflicto.

Después

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.

1. ObservarVer el ejemplo
2. EntenderRelacionar datos y resultado
3. CambiarModificar una sola cosa
4. EjecutarComprobar el resultado
5. ExplicarDecir qué aprendiste

Regla: cambia una sola parte, ejecuta de nuevo y explica qué diferencia observaste. No necesitás reconstruir el proyecto completo.

Parte 3

Practica con un mini proyecto

Hacé un cambio pequeño, ejecuta el código y observa qué cambió.

🧩 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.

Paso 1

Reconoce una palabra nueva

En esta lección aparece programa. ¿Cuál es la mejor forma de aprenderlo?

Paso 2

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?

Paso 3

Comprobá lo que ocurrió

Después de modificar un dato, ¿qué tenés que hacer para saber si aprendiste correctamente?

Paso 4

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ó.

Progreso del mini proyecto

Completá los cuatro pasos.

🧪 Comprobaciones programando

Ejecutá un caso controlado y deja que el código compruebe condiciones importantes.

1. Caso normalUsá datos comunes.
2. Valor límiteProbá cero, vacío, máximo o mínimo.
3. Error esperadoComprobá que el mensaje ayude a corregirlo.
# macOS — Terminal
python3 --version
which python3
code --version
git --version

# Windows — PowerShell
# python --version
# where python
# code --version
# git --version
Qué estás aprendiendo: Cada comando debe mostrar una versión o ruta. Si no ocurre, la herramienta todavía no está lista.

Despué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?
Parte 5

Cerrá la lección

Comprobá que la herramienta funciona, marca el checklist y decide si continuar.

Parte 4

Comprobá lo que entendiste

Respondé una pregunta a la vez. Podés usar pistas y volver a intentarlo.

❓ 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?

Pregunta 2 de 5 · Selección

¿Qué describe mejor el procesamiento?

Pregunta 3 de 5 · Selección

¿Qué error esperado debería manejarse?

Pregunta 4 de 5 · Respuesta breve

Pregunta 5 de 5 · Respuesta breve

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.

🚀 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.