Я пытаюсь выполнить сценарий через службу узла, размещенную на AWS lambda, но последовательно получаю исключение ENOENT.
2020-04-22 07:55:14.613 (-04:00) 9c8c54fc-2aa2-4d17-89d9-ca1e404191b7 ERROR Error: spawn ./bin/test-bin.py ENOENT
at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
at onErrorNT (internal/child_process.js:469:16)
at processTicksAndRejections (internal/process/task_queues.js:84:21) {
errno: 'ENOENT',
code: 'ENOENT',
syscall: 'spawn ./bin/test-bin.py',
path: './bin/test-bin.py',
spawnargs: [ 1, 2 ],
cmd: './bin/test-bin.py 1 2'
}
Выполнение cat bin / test-bin.py в дочернем процессе выплевывает исходный код скрипта, ls -l через дочерний процесс показывает, что скрипт исполняемый, и тот же код работает локально на моей linux машине.
const { execFile } = require('child_process');
execFile('cat', ["bin/test-bin.py"], (err, out) => {
if (err) {
console.error(err)
}
else {
console.log(out)
}
});
Сценарий:
#!/usr/bin/python
import sys
import time
def sum(n1, n2):
return int(n1) + int(n2)
print(sum(sys.argv[1], sys.argv[2]))