【问题标题】:How to fix "Error: spawn py ENOENT" error when running python script from electron app?从电子应用程序运行 python 脚本时如何解决“错误:spawn py ENOENT”错误?
【发布时间】:2020-02-11 21:51:56
【问题描述】:

我试图从 windows 10 中的电子应用程序运行一些 python 脚本。我试图运行的示例代码是:

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)

【问题讨论】:

标签: javascript python npm electron


【解决方案1】:

您的节点似乎无法使用 Python 可执行文件 脚本,这在 Windows 中几乎总是如此。要么添加 python 可执行文件到您的 PATH 变量,或指定可执行文件 选项中的路径。有关详细信息,请参阅构造函数选项。

使用https://github.com/extrabacon/python-shell#pythonshellscript-options-constructor

设置 pythonPath 并尝试。

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

【讨论】:

  • 感谢您的回复。我更新了我的路径变量,并在选项中包含了 python 可执行文件的路径。但是这个错误仍然存​​在..
  • @IftekharJamil 你在'test.py'中有什么?
  • 它只包含一个打印语句:import sys print("Hello world")
猜你喜欢
  • 2018-01-21
  • 2016-10-02
  • 2016-12-28
  • 2017-07-18
  • 2022-12-04
  • 2021-10-20
  • 2015-12-15
  • 2019-10-27
  • 1970-01-01
相关资源
最近更新 更多