Как выполнить python скрипт в nodeJS Back-end - PullRequest
0 голосов
/ 10 января 2020

Я хотел бы выполнить test.py из моего nodeJS бэкэнда, после просмотра нескольких руководств я написал этот код:

function runTestPy(req, res) {
  const spawn = require('child_process').spawn;
  const process = spawn('python', ['./test.py']);
  process.stdout.on('data', (data) => {
    console.log(data.toString());
    console.log('out');
  });
  process.stdout.on('end', () => {
    console.log('fin');
  });
  console.log('merce');
}

module.exports.runTestPy = runTestPy;
runTestPy('', '');

и вот мой test.py:

print("hello world from python ")

Проблема в том, что функция работает, если я запускаю ее независимо от команды node test.py, но когда я запускаю ее из проекта (после npm run dev), она просто не работает, она не печатает "Привет, мир из python" и журнал "out".

Я думаю, что проблема в

  const process = spawn('python', ['./test.py']);

, но я просто не знаю, как установить python в nodeJS и как его использовать.

1 Ответ

0 голосов
/ 10 января 2020

Вы можете использовать Python -оболочку

npm install python-shell

Импорт пакета:

import {PythonShell} from 'python-shell';

PythonShell.run('test.py', null, function (err) {
  if (err) throw err;
  console.log('finished');
});
...