Я создал некоторый код для моего брата, который хотел использовать функцию python из его бэкэнда node.js. Когда он работает на моем компьютере с Ubuntu, он работает - однако! При запуске кода на своем компьютере с Windows он выдает эту трассировку стека.
events.js:174
throw er; // Unhandled 'error' event
^
Error: spawn python ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:240:19)
at onErrorNT (internal/child_process.js:415:16)
at process._tickCallback (internal/process/next_tick.js:63:19)
at Function.Module.runMain (internal/modules/cjs/loader.js:757:11)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
Emitted 'error' event at:
at Process.ChildProcess._handle.onexit (internal/child_process.js:246:12)
at onErrorNT (internal/child_process.js:415:16)
[... lines matching original stack trace ...]
at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
Это файл node.js
const spawn = require("child_process").spawn;
const pythonProcess = exec('python',["./script.py", 2, 4]);
pythonProcess.stdout.on('data', function(data) {
console.log(data.toString('utf-8'))
} )
и это файл script.py
import sys
print("work with me please")
sys.stdout.flush()
Существует множество людей с такими проблемами, однако все ответы кажутся слишком специфичными для конкретного человека. Некоторые упоминают переменные пути, некоторые npm.cmd и другие что-то третье.
Как мне обойти этот конкретный случай?
редактирование:
Я пробовал npm init, npm install, собирал движущиеся части кода, гуглил, менял область видимости cmd и каталог и так далее.