Scripts en Python (motor Pyodide)

Elegir Python para un script lo ejecuta en un motor integrado, con las mismas reglas de aislamiento que JavaScript. El motor se descarga una sola vez, con un clic, y después funciona por completo sin conexión.

Senzoukria · Documentación · Actualizado en septiembre de 2026


Dónde encontrarlo

Dónde
Página Scripting → Lenguaje → Python, y luego la banda «Motor Python»
Descarga
Seis archivos, unos 16,4 MB en total, descargados una sola vez
Incluido
numpy, como el wheel que corresponde a la ABI del motor
Presupuesto de arranque
120 s para el arranque; la descarga tiene su propio presupuesto de 600 s
Presupuesto de script
2 s por ejecución, igual que en JavaScript

Qué hace

El lenguaje se elige por script y se guarda con él. Los dos lenguajes reciben los mismos datos y devuelven las mismas formas, así que un script portado de uno a otro se orienta enseguida: las columnas de las barras se exponen con sus nombres, los helpers de cálculo conservan los mismos nombres y los constructores de salida se corresponden uno a uno.

El arranque del motor es un estado de primera clase, mostrado en su propia banda, y nunca se confunde con la ejecución de un script. Esa distinción importa: el motor tarda segundos en arrancar mientras que una ejecución de script tiene un presupuesto de dos segundos, así que mezclar ambas cosas haría que cualquier script Python correcto pareciera un bucle infinito.

Nada se descarga solo. Instalar es un clic; el arranque automático solo ocurre cuando los archivos ya están presentes.

Estados del motor

La banda del motor Python, estado por estado
EstadoPor defectoQué cambia
No instaladoinicialOfrece «Instalar el motor Python» e indica el tamaño de la descarga única.
DescargandoMuestra un porcentaje y ofrece «Cancelar la descarga».
ArrancandoEl motor está arrancando; los scripts esperan en vez de fallar.
Motor disponibleMuestra la versión y los milisegundos que tardó en arrancar, y ofrece «Quitar el motor».
Motor inaccesibleIndica que el motor no arrancó, con el mensaje en bruto, y ofrece «Reintentar». Los scripts JavaScript no se ven afectados.
Nota sin conexiónsiempreUna vez instalado, el motor funciona por completo sin conexión: ningún script ni dato se envía a ninguna parte.

Lenguaje que no coincide

Pegar un script Python en un borrador que seguía en JavaScript producía antes un error de sintaxis apuntando a una línea arbitraria, más un consejo sobre console.log dirigido a alguien que escribe Python. Ahora la página comprueba si el código contradice el lenguaje declarado y lo dice, con un botón que cambia al detectado.

La comprobación es deliberadamente estrecha: solo busca marcas que sean errores de sintaxis claros en el otro lenguaje, y se calla cuando un archivo lleva marcas de los dos, porque de un script traducido a medias no hay nada útil que decir. No detectar algo solo te devuelve al viejo mensaje oscuro; inventarse una detección te llevaría a cambiar un lenguaje que era correcto.

Límites y trampas

  • Cambiar de lenguaje no traduce tu código: queda exactamente como lo escribiste y no se ejecutará hasta que lo reescribas.
  • Los archivos del motor se descargan del relé propio del producto, el único origen remoto que permite la política de contenido de la aplicación.
  • La versión del motor está fijada y se comprueba contra el binario compilado; mezclar versiones se rechaza en vez de producir fallos ilegibles.
  • Hacer el backtest de una estrategia Python ejecuta el bucle del lado de Python, en vez de cruzar la frontera entre lenguajes una vez por barra, y una prueba de paridad compara sus operaciones con el bucle de JavaScript barra a barra. print() va al registro, con el prefijo de la barra en curso.

Esta página en otros idiomas

Preguntas frecuentes

¿Necesito Python instalado en mi ordenador?
No. El motor está integrado y la aplicación lo descarga una sola vez. No usa, ni necesita, una instalación de Python del sistema.
¿Qué bibliotecas hay disponibles?
La biblioteca estándar más numpy, que viene como el wheel que corresponde a la ABI del motor. No hay acceso a la red desde dentro del entorno aislado, así que no se pueden descargar paquetes en tiempo de ejecución.
¿Por qué mi script Python falla con un error de sintaxis en una línea que no existe?
Esa es la firma de un lenguaje que no coincide: se añadió a tu código un envoltorio del otro lenguaje. Cambia el lenguaje del script y vuelve a ejecutarlo.