Tiempo 0:00–0:35
Al terminar esta lección tendrás la app básica de Reflex funcionando en el navegador y podrás explicar en una frase cómo convierte Reflex tu código Python en una aplicación web.
Una aplicación web suele dividirse en dos partes:
Lo habitual es tener que aprender ambos lenguajes y, además, diseñar una API entre los dos. Reflex es un framework full stack que te permite escribir tanto el frontend como el backend en Python.
Funciona en tres pasos:
.web/.El único archivo Python de la izquierda se divide en dos caminos. Las funciones de pantalla se compilan a React y van al navegador; el State se queda en el servidor y se sincroniza con la pantalla mediante el ida y vuelta ②→③.
Nota para el instructor — Estos tres pasos aparecen una y otra vez durante el curso. Resúmelos en una frase, "las funciones de pantalla se ejecutan una vez; las de eventos, cada vez", y recupérala en la lección 3 cuando expliques por qué no se puede usar if.
Instalar uv: uv es una herramienta que gestiona a la vez la versión de Python, el entorno virtual y los paquetes.
# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | shComprobar Node.js: Reflex usa Node.js o Bun para instalar y ejecutar los paquetes de la parte visual (React). Reflex 0.10 requiere Node 22.22.0 o superior.
node -v # debe ser v22.22.0 o superioruv init tutorial_261019 # crea un proyecto de Python
cd tutorial_261019
uv add reflex # instala reflex (queda registrado en pyproject.toml)
uv run reflex init # genera el esqueleto de la app Reflex (elige una plantilla)
uv run reflex run # arranca el servidor de desarrollouv run ejecuta el comando dentro del entorno virtual del proyecto (.venv). No hace falta activar el entorno virtual por separado.reflex init te pide que elijas una plantilla. Si quieres empezar con una app vacía, también puedes indicarla directamente: uv run reflex init --template blank.reflex run termine de arrancar, abre en el navegador la dirección que aparece en el log, App running at: http://localhost:3000. Si el puerto 3000 está ocupado, se usará otro, como el 3001.Ctrl + C en la terminal.Compruébalo en el navegador — Justo después de crear el proyecto con --template blank, al abrir http://localhost:3000 deberías ver esta pantalla. El icono del sol, arriba a la derecha, es el botón para cambiar al modo oscuro.
localhost:3000
Vista previaSon problemas que encontramos de verdad al preparar el curso. Es muy probable que a tus alumnos les pase lo mismo, así que avísales con antelación.
| Síntoma | Causa | Solución |
|---|---|---|
UnicodeEncodeError: 'cp949' codec can't encode character '—' durante reflex init | En Windows, cuando la página de códigos del sistema no es UTF-8, Python escribe AGENTS.md con esa codificación heredada y falla con caracteres especiales. El mensaje de ejemplo es de un Windows en coreano (cp949); en un Windows en español la página de códigos heredada es cp1252, que también puede fallar con caracteres como '—' | Ejecuta setx PYTHONUTF8 1, reinicia la terminal y vuelve a ejecutar reflex init |
restartWithMergedOptions() was called, but the process has already been restarted durante reflex run | Node es más antiguo que la versión requerida, así que Reflex fuerza el runtime de Bun, y en esa ruta falla el reinicio de React Router | Actualiza Node a 22.22.0 o superior (por ejemplo: winget upgrade --id OpenJS.NodeJS.22) |
setx solo se aplican a partir de las terminales que abras después. Si usas la terminal de VS Code, reinicia también VS Code.winget list --name Node.node -v muestra 22.22.0 o superior.uv run reflex run, ves la pantalla básica en el navegador.Recibe avisos de nuevas lecciones
Te avisaremos por correo cuando este curso tenga lecciones nuevas o se abra un curso de continuación.
R
ReflexKR
Aprende Python y Reflex haciendo. Todos los ejemplos se ejecutaron y verificaron en Reflex 0.10.0.
ReflexKR es gratis y sin banners publicitarios. Si te ayudó, puedes apoyarlo con un café. ☕ Invítanos un café
Aviso de afiliados© 2026 ReflexKR · Since 2026 · CC BY-NC 4.0
Preguntas y respuestas
Pregunta lo que quieras sobre esta lección. Aquí se reúnen las preguntas de todas las versiones de idioma de esta página.