Python en el nodo de código de n8n: Posibilidades y límites

Python se ejecuta en el nodo de código de n8n a través de Pyodide o ejecución nativa, con límites claros para paquetes externos. Una descripción general práctica.

El nodo de código en n8n se puede alimentar con JavaScript o Python según sea necesario, aunque con diferencias notables: JavaScript se ejecuta de forma nativa, Python pasa por un paso de compilación adicional y por lo tanto es más lento, y la disponibilidad de paquetes Python externos depende en gran medida de si n8n se aloja por sí mismo o se ejecuta en la nube. Estado: Agosto de 2026.

¿Qué tiempos de ejecución de Python ofrece n8n?

n8n ofrece, según documentación oficial, dos formas diferentes de ejecutar Python en el nodo de código. La variante original utiliza Pyodide, un puerto de CPython a WebAssembly, que restringe significativamente los paquetes disponibles. Desde la versión 1.111.0, n8n también admite ejecución nativa de Python a través de ejecutores de tareas personalizados, que se considera estable desde la versión 2 de n8n. Qué variante esté realmente activa depende de la configuración de la instancia. Una descripción general de ambas posibilidades de programación en la herramienta se proporciona en la página de introducción a Código en n8n.

¿Qué paquetes se pueden usar en la práctica?

Aquí está la limitación más grande, y varía significativamente según el modo de operación:

  • n8n Cloud: Ni en el modo Pyodide ni en el modo Python nativo se pueden importar bibliotecas externas.
  • Auto-hospedado con Python nativo: Los módulos externos son posibles si la imagen de ejecutor utilizada los contiene y se liberan explícitamente.
  • Auto-hospedado con Pyodide: La selección de paquetes se limita de antemano por el entorno WebAssembly, independientemente de la configuración propia.

En la comunidad n8n, surgen regularmente mensajes similares: solicitudes para instalar paquetes directamente, mensajes de error sobre paquetes externos no permitidos, e indicaciones de que Python en algunas imágenes Docker delgadas como contenedores basados en Alpine debe instalarse posteriormente. Si quieres trabajar productivamente con paquetes Python, en el auto-hospedaje raramente puedes evitar tu propia imagen Docker personalizada.

¿Por qué el modo Python es más lento que JavaScript?

Según la documentación de n8n, el procesamiento del código Python siempre tarda más que el de JavaScript, porque hay pasos de compilación adicionales antes de que se ejecute el código real. Para nodos individuales que se ejecutan ocasionalmente, esto apenas tiene peso. Con workflows de alta frecuencia de ejecución o grandes volúmenes de datos en el nodo de código, la diferencia puede afectar notablemente el tiempo de ejecución total, lo que debería jugar un papel en la elección entre JavaScript y Python cuando el rendimiento es importante.

¿Cuándo es un nodo diferente la mejor opción?

No toda tarea pertenece al nodo de código, aunque sea posible resolverla técnicamente allí. Para el acceso al sistema de archivos, la documentación recomienda el nodo Leer/Escribir archivo desde disco, para solicitudes HTTP el nodo Solicitud HTTP, en lugar de reconstruir estas funciones en código Python o JavaScript personalizado. Esto tiene dos ventajas: los nodos dedicados están optimizados para workflows de n8n y traen su propio manejo de errores, y el workflow sigue siendo legible para colegas sin conocimientos de programación. El nodo de código es más adecuado para lógica de transformación que no se puede o solo se puede mapear incómodamente con los nodos estándar.

¿Vale la pena Python frente a JavaScript?

Para la mayoría de las automatizaciones en n8n, JavaScript es la opción más pragmática, simplemente por su velocidad y soporte nativo. Python se vuelve interesante principalmente cuando un equipo ya tiene conocimientos de Python o cuando una lógica de procesamiento de datos existente debe transferirse desde un script de Python. Para proyectos de automatización más complejos, especialmente en combinación con agentes de IA, vale la pena verificar de antemano la disponibilidad de paquetes de tu propia instancia, para que la lógica planeada realmente sea funcional más adelante.

Preguntas frecuentes sobre Python en el nodo de código de n8n

¿Puedo instalar cualquier paquete Python en la nube de n8n?

No, en la nube de n8n no se pueden importar bibliotecas externas ni en el modo Pyodide ni en el modo Python nativo. Si necesitas paquetes específicos, necesitas una instancia auto-hospedada con una imagen de ejecutor configurada apropiadamente.

¿Cuál es la diferencia entre Pyodide y Python nativo?

Pyodide es un puerto de CPython a WebAssembly con disponibilidad limitada de paquetes, mientras que la ejecución nativa de Python disponible desde la versión 1.111.0 se ejecuta a través de ejecutores de tareas y ofrece más flexibilidad con módulos externos en el auto-hospedaje.

¿Es Python en el nodo de código tan rápido como JavaScript?

No, según la documentación, el procesamiento del código Python tarda más que el de JavaScript porque hay pasos de compilación adicionales. Para nodos individuales, esto rara vez es notable, pero con una alta frecuencia de ejecución puede afectar notablemente el tiempo de ejecución.

¿Debo programar acceso a archivos y llamadas HTTP en el nodo de código?

Mejor no: n8n recomienda usar el nodo Leer/Escribir archivo desde disco, o el nodo Solicitud HTTP. Esto mantiene el workflow mantenible y aprovecha el manejo de errores integrado de estos nodos en lugar de código personalizado.

Simon Glowik, fundador de NordFlux
Sobre el autor

Fundador de NordFlux. Siete años de experiencia, desde la web y el SEO hasta la automatización a escala de grupo, hoy de forma pragmática para las pymes y con soberanía de datos alemana.

Certificaciones

  • Certificado Microsoft — PL-900 y AZ-900
  • Certificado UiPath — Automation Developer Associate
Todos los artículos
Análisis inicial gratuito

¿Preguntas concretas sobre automatización o IA?

En un análisis inicial gratuito hablamos directamente de su caso. Sin compromiso.