Я использую модель child_process
для отправки данных в сценарий python, где я выполняю некоторые вычисления с помощью pandas
, а затем отправляю их обратно в сценарий node.js
: index.js
. Проблема в том, что когда я импортирую модуль pandas в скрипт python, он останавливает возврат данных из моего index.js
скрипта (я не знаю почему). Однако, если я просто не импортирую модуль pandas
, я получаю данные, возвращенные из сценария python.
Вот как я отправляю данные в сценарий python из index.js
:
const spawn = require('child_process').spawn
let result = ''
const pythonProcess = spawn('python',['./rl-commands/t1.py', a, b]); #a, b are arguments that I send through. In this case they are just som integers (2 and 2)
Затем я обрабатываю данные в сценарии python следующим образом (имейте в виду, что я на самом деле не использую pandas здесь, потому что я просто пытаюсь сначала установить связь между двумя сценариями, но pandas по-прежнему необходимо):
import sys
import json
import random
import numpy as np
import pandas as pd
a = sys.argv[1]
b = sys.argv[2]
print(int(a) + int(b))
sys.stdout.flush()
Наконец, я извлекаю код, который я обработал в python, в свой index.js
скрипт:
pythonProcess.stdout.on('data', (data) => {
result += data.toString()
});
pythonProcess.on('close', function (code) {
console.log("RES: ", result);
});
!!! Как объяснялось ранее, это не работает. Но если я закомментирую импорт pandas из сценария python, он работает:
import sys
import json
import random
import numpy as np
#import pandas as pd
a = sys.argv[1]
b = sys.argv[2]
print(int(a) + int(b))
sys.stdout.flush()
Я не понимаю, как удаление import pandas as pd
заставляет скрипт запускаться?