Как исправить ошибку «Ошибка: spawn py ENOENT» при запуске скрипта python из приложения Electron? - PullRequest
0 голосов
/ 15 октября 2019

Я пытался запустить какой-нибудь скрипт на python из электронного приложения в Windows 10. Пример кода, который я пытаюсь запустить:

let {PythonShell} = require('python-shell')
PythonShell.run('test.py',  function  (err, results)  {
 if  (err)  throw err;
 console.log('test.py finished.');
 console.log('results', results);
});

Ожидается, что код запустит test.py, который содержитпростой оператор печати. ​​Но терминал показывает следующий журнал ошибок:

throw er; // Unhandled 'error' event
      ^

Error: spawn py 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:745:11)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:743: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:743:3)

1 Ответ

0 голосов
/ 15 октября 2019

Похоже, что исполняемый файл Python недоступен из скрипта вашего узла, что почти всегда имеет место в Windows. Либо добавьте исполняемый файл python в переменную PATH, либо укажите путь к исполняемому файлу в параметрах. Для получения дополнительной информации см. Параметры конструктора.

Использование https://github.com/extrabacon/python-shell#pythonshellscript-options-constructor

Установка pythonPath & try.

let options = {
    pythonPath: 'C:\\python27\\python',
  };

  let {PythonShell} = require('python-shell')
  PythonShell.run('test.py', options,  function  (err, results)  {
   if  (err)  throw err;
   console.log('test.py finished.');
   console.log('results', results);
  });

https://github.com/extrabacon/python-shell/issues/3#issuecomment-52174564

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...