Quiero hacer una extensión de cuaderno jupyter y estoy siguiendo este repositorio . Necesitaba ejecutar el código python usando javascript para el cual estoy tratando de usar npm python-shell
Para importar el paquete, intenté usar el módulo require pero no funciona porque no se supone que se ejecute en el navegador y requiere nodejs . Intenté buscar otras formas de ejecutar nodejs en el navegador y encontré cosas como browserify, etc. Sin embargo, el archivo main.js en el repositorio vinculado anteriormente usa el módulo require cómodamente. ¿Cómo lo está haciendo? ¿Qué me estoy perdiendo? A continuación se muestra el código y el error que aparece en el navegador. Ya instalé el módulo require y python-shell usando npm.
Código:
define(['require','PythonShell','base/js/namespace', 'base/js/events'], function (require,Jupyter, events) { var PythonShell = require('python-shell'); PythonShell.runString('x=1;print(x)',null,function(err,results) { console.log(results); }); function load_ipython_extension() { console.log("Hello World"); } return { load_ipython_extension: load_ipython_extension, }; });Error:
Parece que la biblioteca que está tratando de usar, Python Shell fue diseñada para node.js, como se indica en la descripción del paquete:
Una forma sencilla de ejecutar secuencias de comandos de Python desde Node.js con una comunicación entre procesos básica pero eficiente y una mejor gestión de errores.
Por eso, no puede usar este paquete en el navegador. Probablemente hay muchas alternativas, y encontré este paquete a través de una búsqueda rápida en Google: pyodide (tenga en cuenta que nunca lo he usado, lo acabo de encontrar).