Mi objetivo principal aquí es ejecutar un script de Python que he escrito cuando ejecuto una función activada a través de HTML. Así es como tengo las cosas configuradas actualmente:
Tengo un archivo JavaScript que contiene funciones de ejecución de Python:
const PythonShell = require('python-shell').PythonShell; class AHK { static async runScript() { PythonShell.run('/ahk/script.py', null, function (err) { if (err) throw err; console.log('finished'); }); } module.exports = AHK;
Tengo mi archivo main.js, que sería el código js para que lo maneje el HTML. Me gustaría que admitiera el módulo AHK
. Algo simple como esto:
const AHK = require('./ahk'); function runFunction(x){ if(x = 1) AHK.runScript() }
Y luego tengo algo de HTML con una etiqueta javascript
<script type="text/javascript"> let x =1; //this is just to show x is getting populated. In the actual code it's constantly changing values async function predict() { if(x > 1) runFunction(x) } </script>
El mayor problema al que me enfrento:
Me di cuenta de que al navegador javascript no le gustan los requisitos/módulos. Por ejemplo, al archivo main.js
no le gusta tener un requisito en la parte superior. He intentado usar cosas como requirejs, pero parece que no puedo entender cómo hacer que algo como esto funcione. Básicamente lo necesito para que cuando se cumpla el requisito y se ejecute la función runFunction
, el script de python se ejecute en mi máquina.
Es importante tener en cuenta que todo esto se está ejecutando para un proyecto personal en mi computadora, por lo que nunca dejará de ser local.
Haga que la aplicación en su PC sea una API y use la página web para enviar una solicitud a la API diciéndole qué secuencia de comandos de python debe ejecutar. No he usado Python demasiado, pero creo que puedes hacer una API con él. Luego, puede crear botones para cada programa de Python que desee ejecutar y hacer que estos botones envíen una solicitud a la API.