Я пишу простое приложение Electron для Windows, которое использует несколько файлов python, использующих различные библиотеки машинного обучения python.На данный момент моя цель - просто нажать кнопку, которая выполняет скрипт Python, который либо сохраняет выходные данные в файл, локальный по отношению к каталогу скрипта Python, либо возвращает выходные данные в приложение Electron - в любом случае это хорошо.
Использование нескольких различных методов (exec, spawn и т. Д.).Я успешно вызвал скрипт Python, и он заставил скрипт Python правильно записывать тестовые значения в файлы и корректно возвращать тестовые значения в мои приложения.
const { spawn } = require('child_process');
const pyProg = spawn('python', ['./../path/to/pyfile/cmd_test.py', 'arg1', 'arg2'...], {detached: true});
pyProg.stdout.on('data', function(data) {
alert(data);
console.log(data.toString());
});
Проблема заключается в том, что после импорта одного из двух необходимыхбиблиотеки для моего скрипта Python (pandas и sklearn), скрипт останавливается и не записывает в файл и не возвращает вывод.Это не тот случай, когда импортируются некоторые другие библиотеки, такие как numpy или sys.Если я закомментирую импорт панд (или sklearn), все будет нормально.
import sys
import ast
import numpy as np
#import pandas as pd
Более того, если я вручную вызову ту же команду командной строки, которую приложение Electron выполняет из того же каталога, что и приложение ElectronСама программа работает правильно, и запись и вывод файлов работают правильно, независимо от того, импортирую ли я панд или sklearn.
python ./../path/to/pyfile/cmd_test.py arg1 arg2