Aquí está la cosa, tengo un cuaderno de google colab y necesito ejecutar comandos de python desde javascript cuando ejecuto una celda.
Cuando trato de ejecutar el comando colab.global.notebook.kernel.execute('5+3')
solo para probar el resultado, en la respuesta de la promesa obtengo lo siguiente:
Como puede ver en la imagen, el resultado de la operación 5 + 3
no se devuelve en la respuesta de la promesa.
En Jupyter Notebook es posible obtener la respuesta fácilmente con un código Javascript como el siguiente:
new Promise((resolve, reject) => { var callback = { iopub: { output: (data) => { if (data.content.text) { resolve(data.content.text.trim()); } else if (data.content.ename && data.content.evalue) { resolve(`{"ename": "${data.content.ename}", "evalue": "${data.content.evalue}"}`); } else { resolve(''); } } } }; Jupyter.notebook.kernel.execute(`${pythonCode}`, callback); })
En JupyteLab es posible obtener la respuesta creando una extensión jlab que contenga lo siguiente:
future(JupyterLab[kernelId].context.sessionContext.session?.kernel.requestExecute({code}));
Intenté hacer algo similar a lo que estoy haciendo en Jupyter Notebook and Lab pero con el kernel de Google Colab ( colab.global.notebook.kernel.execute('5+3') ) pero no puedo obtener el respuesta del comando python que estoy ejecutando.
Busqué documentación sobre esto, pero no pude encontrar nada y también exploré el objeto colab
por completo, pero aún nada.
Cualquier ayuda o solución sería apreciada. ¡Gracias!