Más juegos en WuGames.ioPatrocinadoDescubre juegos de navegador gratis — juega al instante, sin descargas ni registro.Jugar

Sandbox Python

Ejecute Python 3 en su navegador vía Pyodide (CPython sobre WebAssembly). Stdlib completa, pip vía micropip, sesión persistente, offline tras primera carga.

Sandbox Python - Ejecutar Código Python Online Gratis

Python es el lenguaje de programación más enseñado del mundo y la herramienta dominante de ciencia de datos, machine learning, computación científica, scripting de sistemas y backends web rápidos — pero cada principiante pasa su primera hora peleando con una instalación local: qué intérprete (Python del sistema, Anaconda, pyenv?), qué estrategia venv, qué IDE, dónde vive pip. Este sandbox salta todo eso. Todo el intérprete CPython ha sido compilado a WebAssembly por el proyecto Pyodide de Mozilla Foundation (usado en JupyterLite, los docs de Pandas y docenas de plataformas educativas) y cargado directamente en su pestaña del navegador. Tras una descarga única de unos 6 MB la primera vez, cada ejecución posterior es instantánea y funciona totalmente offline. Obtiene Python 3.11+ con la biblioteca estándar completa — os, sys, math, json, datetime, re, collections, itertools, functools, statistics, random — más la opción de cargar NumPy, Pandas, SciPy, Matplotlib, scikit-learn, sympy y otros paquetes pesados de ciencia de datos bajo demanda vía micropip. El contexto de ejecución persiste entre runs (defina una función, luego llámela después sin redefinir), el sistema de archivos es virtual en su navegador, y las únicas cosas que no funcionan son llamadas de red (urllib/requests/socket), toolkits GUI nativos (Tkinter, PyQt) y paquetes con extensiones C no portadas a WASM.

¿Qué es Sandbox Python?

Sandbox Python es un intérprete Python online que se ejecuta completamente en su navegador. Usa Pyodide, que es CPython compilado a WebAssembly, permitiéndole:

- Ejecutar código Python sin instalar nada
- Probar fragmentos de código instantáneamente
- Aprender Python interactivamente
- Depurar y experimentar con código
- Trabajar offline después de carga inicial

El sandbox admite la mayoría de características de Python 3.x y módulos de librería estándar.

¿Cómo uso este Sandbox Python?

Usar el Sandbox Python es sencillo:

1. Espere a que se cargue el entorno Python (solo la primera vez)
2. Escriba o pegue su código Python en el editor
3. Haga clic en 'Ejecutar Código' para ejecutar
4. Vea la salida en la consola abajo
5. Use 'Limpiar' para restablecer el editor
6. Pruebe códigos de ejemplo para aprender conceptos básicos de Python

El entorno persiste entre ejecuciones, por lo que variables y funciones permanecen disponibles a menos que reinicie.

¿Qué características de Python son compatibles?

El sandbox admite la mayoría de características de Python 3.x:

- Toda sintaxis básica de Python (variables, bucles, condicionales)
- Funciones y clases
- Operaciones de list, dict, set, tuple
- Manipulación y formato de strings
- E/S de archivos (sistema de archivos virtual)
- La mayoría de módulos de librería estándar
- Manejo de excepciones
- Decoradores y generadores
- Comprensiones de listas

Algunas limitaciones:
- Sin solicitudes de red (fetch, urllib)
- Sin librerías GUI (tkinter, pygame)
- Soporte limitado de threading
- Algunos módulos de extensión C pueden no funcionar

¿Mi código está seguro y privado?

Sí, su código es completamente seguro y privado:

- Todo el código se ejecuta solo en su navegador
- Ningún código se envía a ningún servidor
- Sin registro o rastreo de su código
- Funciona completamente offline después de carga inicial
- El código está sandboxed y no puede acceder a su sistema

El entorno Pyodide está aislado y seguro, ejecutándose en un sandbox WebAssembly.

¿Puedo instalar paquetes Python?

El sandbox viene con muchos paquetes comunes preinstalados. Sin embargo, instalar paquetes adicionales vía pip es limitado:

- Muchos paquetes Python puros funcionan
- Paquetes con extensiones C pueden no funcionar
- Use micropip para instalación de paquetes

Ejemplo:
import micropip
await micropip.install('package-name')

Nota: No todos los paquetes PyPI son compatibles con Pyodide.

¿Por qué mi requests.get() o urllib falla con error de no internet?

Porque Pyodide corre dentro del sandbox WebAssembly del navegador, que por diseño NO tiene acceso directo a sockets de red. La biblioteca 'requests' y urllib están construidas sobre sockets TCP crudos, que el sandbox no expone. Dos soluciones: (1) Use pyodide.http.pyfetch, que envuelve la API fetch() nativa del navegador y funciona para HTTP/HTTPS. Reemplace 'requests.get(url).json()' con 'await pyodide.http.pyfetch(url).then(r => r.json())' (en contexto async). (2) Instale el paquete parche aiohttp-wasm o 'pyodide-http' que parchea requests para enrutar por fetch internamente. El servidor remoto aún necesita enviar cabeceras CORS (Access-Control-Allow-Origin) o el navegador bloqueará la respuesta — es regla de seguridad del navegador, no limitación de Pyodide. Para experimentación solo local, simule la respuesta API con un dict y omita la llamada HTTP por completo.

Sandbox Python — Ejecute Python 3 en su navegador vía Pyodide (CPython sobre WebAssembly). Stdlib completa, pip vía micropip, sesión pers
Sandbox Python

¿Puedo usar NumPy o Pandas en este sandbox?

Sí. Ambos son paquetes Pyodide pre-construidos y se cargan bajo demanda vía micropip — sin paso de compilación. Ejecute esto una vez en su código:

import micropip
await micropip.install(['numpy', 'pandas', 'matplotlib'])
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

La primera instalación toma unos segundos (descarga ~10-20 MB de binarios compilados a WASM) pero luego se cachea para siempre. Después, las operaciones de array NumPy corren a velocidad casi nativa (el NumPy de Pyodide es genuinamente rápido), los DataFrames Pandas funcionan normalmente, y Matplotlib renderiza SVG/PNG que puede mostrar vía plt.show() — los hooks de display de Pyodide renderizan la imagen directamente en el panel de salida. La lista completa de paquetes científicos pre-construidos incluye scipy, scikit-learn, sympy, statsmodels, networkx, pillow, beautifulsoup4, lxml, regex y muchos más. Vea pyodide.org/en/stable/usage/packages-in-pyodide.html para el índice completo.

¿Cómo reinicio el intérprete o borro todas las variables entre ejecuciones?

Esta es la frustración más común con cualquier REPL persistente: el contexto de ejecución sobrevive entre runs, por lo que una variable, función, import o monkey-patch que definió antes sigue vivo en la siguiente ejecución. Eso es intencional (le permite construir estado interactivamente, igual que un notebook Jupyter), pero también significa que un global obsoleto puede envenenar silenciosamente resultados posteriores. Hacer clic en 'Limpiar' solo borra el texto del editor — NO toca el espacio de nombres de Python. Para obtener un estado realmente limpio, haga clic en 'Reiniciar Intérprete': borra cada nombre definido por el usuario de globals(), restablece la captura de stdout/stderr y le da un espacio de nombres fresco SIN volver a descargar el runtime de Pyodide de ~6 MB (así que es instantáneo, a diferencia de recargar la página). También puede presionar Ctrl+Enter (Cmd+Enter en Mac) para ejecutar código directamente desde el teclado. Si prefiere hacerlo por código, ejecute: for _n in list(globals()):
if not _n.startswith('__'): del globals()[_n] — pero el botón es más rápido y también reinicia los búferes de salida.

¿Por qué no funciona input() y cómo leo stdin?

Buscar 'python input() no funciona online' trae a casi todos aquí. El input() estándar de CPython se bloquea esperando un stdin de terminal real, que el sandbox del navegador no proporciona, así que una llamada input() simple generará un error o se colgará. Hay tres patrones prácticos en Pyodide: (1) Reemplace input() con el propio diálogo prompt del navegador — Pyodide redefine el builtin de modo que input('¿Su nombre? ') muestra un cuadro prompt() de JavaScript y devuelve el texto escrito. Esto funciona de inmediato para scripts simples. (2) Para entrada multilínea o canalizada, precargue los datos en su código en lugar de leerlos interactivamente: data = '''linea1\nlinea2\nlinea3'''.splitlines() y luego itere. (3) Para probar código que llama input() repetidamente, parchee el builtin: respuestas = iter(['Ana', '42']); import builtins; builtins.input = lambda prompt='': next(respuestas). Esto alimenta respuestas predefinidas sin diálogos y es la forma más limpia de demostrar o probar scripts interactivos.

¿Puedo subir un archivo, leerlo o descargar un archivo que genera mi script?

Sí — Pyodide da a cada pestaña un sistema de archivos virtual real en memoria (MEMFS), por lo que open(), os.path, pathlib, csv, json y read_csv/to_csv de Pandas funcionan normalmente contra rutas virtuales. Para meter un archivo externo, léalo en JavaScript y escríbalo en el FS, o use pyodide.FS.writeFile('/data.csv', bytes); luego en Python solo open('/data.csv'). Para sacar un archivo generado, escríbalo normalmente (open('out.csv','w') o df.to_csv('out.csv')), luego lea los bytes con pyodide.FS.readFile('out.csv') y dispare una descarga del navegador vía un Blob. Un flujo común de ciencia de datos: cargar un CSV en el FS, ejecutar análisis pandas, escribir un CSV resultante o un PNG de Matplotlib, y luego descargarlo. Todo vive solo en la memoria de su navegador — nada se sube a un servidor, y los archivos desaparecen al recargar (use Reiniciar Intérprete para borrar el estado de Python sin borrar el FS, o recargue la página para un reinicio total).

¿Para qué son los ejemplos de código?

Los ejemplos de código le ayudan a:

- Aprender conceptos básicos de Python rápidamente
- Ver patrones de código funcionando
- Entender sintaxis de Python
- Comenzar con operaciones comunes

Los ejemplos cubren:
- Hello World (print básico)
- Bucles (for, while)
- Funciones (definición y llamadas)
- Listas y operaciones
- Diccionarios y estructuras de datos
- Clases y programación orientada a objetos

¡Haga clic en cualquier ejemplo para cargarlo en el editor y ejecutarlo!

Características Clave

  • Ejecutar código Python 3.x en navegador
  • Ejecución instantánea desde el teclado con Ctrl+Enter (Cmd+Enter en Mac)
  • Botón Reiniciar Intérprete para un espacio de nombres limpio sin recargar
  • Las figuras de Matplotlib se renderizan directamente en el panel de salida
  • Sin instalación ni registro requerido
  • Ejecución de código instantánea con salida
  • Resaltado de sintaxis y editor de código
  • Múltiples ejemplos de código para aprender
  • Mensajes de error y trazas de pila
  • Seguimiento de tiempo de ejecución
  • Descargar código como archivo .py
  • Funcionalidad de limpiar y restablecer
  • Funciona offline después de carga inicial
  • 100% del lado del cliente - el código nunca sale de su navegador
  • Soporte de modo oscuro
  • Diseño responsive amigable con móviles
  • Impulsado por Pyodide (CPython en WebAssembly)