Estoy usando React.JS para crear un sitio web, y tengo un botón que el usuario puede presionar que activará la ejecución de un archivo python. Intenté usar child_process, pero recibo un montón de errores para los que parece que no puedo encontrar la respuesta. ¿Alguien puede decirme dónde me estoy equivocando?
Este es mi código hasta ahora:
import React from 'react' import '../css/Home.css' const Home = () => { const runPyFile = () => { const spawn = require('child_process'); const childPython = spawn('python', ['../python/test.py']); childPython.stdout.on('data', (data) => { console.log(`stdout: ${data}`); }); childPython.stderr.on('data', (data) => { console.log(`stderr: ${data}`); }); childPython.on('close', (code) => { console.log(`child process exited with code ${code}`); }); }; return ( <body className='home-body'> {/* a button that will run the python script */} <button onClick={runPyFile}> Run Python Script </button> </body> ) } export default HomeY aquí está el archivo python que estoy tratando de ejecutar:
print('hello world!') Cuando ejecuto todo esto y hago clic en este botón en el navegador, recibo este error: 
Lo que está tratando de hacer es ejecutar un script de python desde javascript que se ejecuta en el navegador en el lado del cliente dentro de un proceso separado. Me temo que no puede hacer esto porque es un problema de seguridad intentar salir del entorno limitado del navegador y llegar a la computadora del usuario. Los navegadores no permiten eso. Ni siquiera puede abrir un archivo en el espacio del usuario fuera del navegador.
Quizás esté confundido por la idea de que si está escribiendo código del lado del servidor, puede hacer cosas como esta allí, pero eso solo está disponible en el lado del servidor.
Dicho todo esto, hay formas de ejecutar código python en el navegador. Echa un vistazo a Brython y Pyodide
No puedes hacer eso en el lado del cliente.