MÓDULO 10: Manejo Básico de Errores en Python
Instalación WSL - Consola
Instalación rápida (recomendada)
- Abre PowerShell o CMD como administrador.
-
Ejecuta el comando:
Este comando:css
CopiarEditar
wsl --install
- Habilita el WSL y Virtual Machine Platform.
- Descarga e instala el kernel de WSL 2.
- Instala Ubuntu como distribución por defecto.
- Reinicia tu equipo cuando se te solicite. HashTechWave+5Microsoft Learn+5Windows OS Hub+5UMA Technology+5Windows OS Hub+5HashTechWave+5
Al reiniciar, inicia “Ubuntu” desde el menú Inicio. Aparecerá la terminal para completar la configuración (nombre de usuario y contraseña). Microsoft Learn
⚙️ Instalación manual (opcional)
Para más control o si prefieres hacerlo paso a paso:
-
Habilita las características de Windows:
powershell
CopiarEditar
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
- Descarga e instala manualmente el kernel de WSL 2 (si fuera necesario).
- Reinicia el sistema.
-
Establece WSL 2 como versión predeterminada:
powershell
CopiarEditar
wsl --set-default-version 2
-
Instala una distribución (ej. Ubuntu, Debian) desde Microsoft Store o con:
powershell
CopiarEditar
wsl --install -d Debian
Microsoft LearnWikipedia+5Windows OS Hub+5Microsoft Learn+5
🔧 Comandos útiles post-instalación
-
Listar distribuciones instaladas:
powershell
CopiarEditar
wsl -l -v
-
Cambiar distribución predeterminada:
powershell
CopiarEditar
wsl --set-default <Distribución>
-
Actualizar kernel WSL:
powershell
CopiarEditar
wsl --update
-
Cerrar instancias WSL:
powershell
CopiarEditar
wsl --shutdown
Wikipedia+2Microsoft Learn+2Windows OS Hub+2
✅ Ventajas de WSL
- Ejecuta herramientas y scripts Linux directamente en Windows, ideal para desarrollo web, Python, Node, Ruby, contenedores Docker, etc. TechDirectArchive+8HashTechWave+8YouTube+8
- Réplica fiel de un entorno de producción Linux, con menos consumo de recursos que una VM. Wikipedia
- Integración fluida de archivos entre Windows (C:\...) y Linux (/mnt/c/...).
- Compatible con apps gráficas Linux en Windows 11 mediante WSLg. Wikipedia+7Wikipedia+7TechDirectArchive+7
🧩 Próximos pasos recomendados
- Instala y configura Windows Terminal para gestionar múltiples distribuciones y shells.
- Personaliza entorno: Git, editores, bases de datos, contenedores.
- Configura aceleración GPU si desarrollas ML / IA (requiere WSLg y drivers compatibles).
- Explora contribuciones al proyecto ahora que es abierto en GitHub. Microsoft Learn
Instalción WSL - Grafico
🚀 Instalación de WSL desde la Microsoft Store
1. ¿Por qué usar la Store?
Desde Windows 10 y 11, Microsoft transformó WSL en una app disponible directamente en la Microsoft Store, lo que permite obtener actualizaciones más rápidas independientes de las actualizaciones del sistema operativo Tech2Geek+15Microsoft for Developers+15brayandiazc.com+15.
2. Requisitos previos
- Windows 10 (versión 2004 o superior) o Windows 11 Microsoft Learn+4brayandiazc.com+4Microsoft Learn+4
- Virtualización habilitada en BIOS/UEFI (Intel VT-x o AMD-V)
- Permisos de administrador para instalar la aplicación
3. Paso a paso – Instalar WSL GUI
A. Abrir la Microsoft Store
- Desde el menú Inicio, busca y abre Microsoft Store.
B. Buscar la app oficial
- En la barra de búsqueda escribe “Windows Subsystem for Linux”.
- Selecciona la app oficial publicada por Microsoft. Microsoft Learn+2Wikipedia+2Lucas Laruffa+2Microsoft Learn+10brayandiazc.com+10Solve Your Tech+10
C. Instalar WSL
- Haz clic en “Install”.
- Espera a que se complete la instalación.
D. Instalar una distribución Linux
- En la Store, busca tu distro preferida, por ejemplo Ubuntu, Debian, openSUSE o Kali.
- Haz clic en “Install” ▶️ la distro se añadirá como app de Windows. Microsoft Learn+4brayandiazc.com+4Microsoft Learn+4
E. Primer lanzamiento
- Abre la distro desde Inicio (ej. “Ubuntu”).
- Se iniciará una ventana de terminal para configurar usuario y contraseña. Microsoft Learn+7brayandiazc.com+7Lucas Laruffa+7
4. Configuración y actualización
-
Dentro de la terminal Linux, corre:
Esto actualiza los paquetes a la versión más reciente. Guiding Techbash
CopiarEditar
sudo apt update && sudo apt upgrade -y
-
Para verificar qué versión de WSL está usando:
Si aparece WSL 1, puedes cambiar a WSL 2:powershell
CopiarEditar
wsl -l -v
Microsoft Learn+7Guiding Tech+7genbeta.com+7Solve Your Tech+4Microsoft for Developers+4Mostapha.dev+4powershell
CopiarEditar
wsl --set-default-version 2
5. Beneficios de la instalación gráfica
- Actualizaciones automáticas para WSL y el kernel Linux, sin esperar a actualizaciones de Windows brayandiazc.com+2genbeta.com+2Mostapha.dev+2.
- Selección visual de distribuciones desde la Store en lugar de comandos.
- Integración fluida con Windows Terminal para usar múltiples shells.
- Compatible con aplicaciones gráficas Linux (WSLg) en Windows 11 y versiones recientes de Windows 10 Windows 11 Forum+12Microsoft Learn+12Microsoft Learn+12.
🧩 Resumen de pasos
- Abre Microsoft Store.
- Instala Windows Subsystem for Linux.
- Elige e instala tu distribución Linux preferida.
- Configura usuario/contraseña al abrir la terminal.
- Actualiza paquetes: sudo apt update && sudo apt upgrade.
- Verifica y ajusta versión: wsl -l -v → wsl --set-default-version 2.
🎯 ¿Por qué es Importante el Manejo de Errores?
Cuando programas, los errores son inevitables: archivos que no existen, divisiones por cero, datos faltantes, entre otros.
El manejo de errores permite que tu programa:
- No se detenga inesperadamente.
- Responda de forma controlada ante fallos.
- Proporcione mensajes claros al usuario o al sistema.
- Evite consecuencias en procesos automáticos, especialmente en integraciones con sistemas como Epicor u Odoo.
🔹 ¿Qué es una Excepción?
Una excepción es un error detectado durante la ejecución del programa. Si no es manejada, detendrá el script.
Ejemplo clásico:
python
CopiarEditar
print(10 / 0) # ❌ ZeroDivisionError
🔧 Uso de try-except
La forma básica de manejar errores en Python es con el bloque:
python
CopiarEditar
try: # Código que puede generar un error except: # Código que se ejecuta si ocurre un error
📌 Ejemplo básico:
python
CopiarEditar
try: resultado = 10 / 0 except: print("Ocurrió un error al dividir.")
Salida:
Ocurrió un error al dividir.
1️⃣ Capturar Errores Específicos
Es recomendable capturar excepciones específicas para tener mayor control:
python
CopiarEditar
try: resultado = 10 / 0 except ZeroDivisionError: print("Error: No puedes dividir entre cero.")
2️⃣ Uso de else y finally
- else: Se ejecuta si no ocurre ningún error.
- finally: Se ejecuta siempre, ocurra o no un error (ideal para cerrar conexiones, archivos, etc.).
python
CopiarEditar
try: print("Proceso sin errores") except: print("Error detectado") else: print("Todo salió bien") finally: print("Fin del proceso")
🏢 Ejemplo Práctico en Raloy: Leer un Archivo de Reporte
Supón que automatizas la lectura de un archivo de inventario:
python
CopiarEditar
try: with open('inventario.csv') as archivo: datos = archivo.read() print(datos) except FileNotFoundError: print("⚠️ Error: El archivo de inventario no fue encontrado.")
Esto evita que el programa falle si el archivo no está disponible.
🚨 Errores Comunes
- Capturar todas las excepciones sin control:
python
CopiarEditar
try: # Código except: print("Error") # ❌ Poco informativo
- Olvidar cerrar conexiones o archivos sin usar finally.
- No anticipar errores previsibles, como ingreso de datos incorrectos por usuarios.
💡 Buenas Prácticas
- Siempre captura errores específicos.
- Usa mensajes claros y útiles.
- Evita "silenciar" errores que necesitan atención.
- Usa finally para limpiar recursos (cerrar archivos, conexiones, etc.).
🔹 Lista de Excepciones Comunes
Excepción | Descripción |
---|---|
ZeroDivisionError | División por cero |
FileNotFoundError | Archivo no encontrado |
ValueError | Tipo de dato incorrecto |
KeyError | Clave inexistente en un diccionario |
IndexError | Índice fuera de rango en listas |
TypeError | Operación inválida entre tipos |
🏢 Caso Práctico en Raloy: Validación de Datos de Pedido
Automatizar validación de montos antes de procesar un pedido:
python
CopiarEditar
def procesar_pedido(monto): try: if monto <= 0: raise ValueError("El monto debe ser mayor a cero.") print(f"Procesando pedido por ${monto}") except ValueError as e: print(f"⚠️ Error en pedido: {e}") procesar_pedido(-500)
Salida:
⚠️ Error en pedido: El monto debe ser mayor a cero.
No hay comentarios por ahora.