【问题标题】:Running python-shell from ElectronJS script从 ElectronJS 脚本运行 python-shell
【发布时间】:2020-01-01 15:03:17
【问题描述】:

我正在使用 Electron JS 和 Python 创建一个简单的桌面应用程序。我尝试了一个教程,该教程表明使用 python-shell 模块与 Python 后端进行通信更加简单。如果没有与该模块相关的错误,我无法运行该应用程序。

首先我从以下代码开始:

var pyshell =  require('python-shell');

pyshell.run('hello.py',  function  (err, results)  {
 if  (err)  throw err;
 console.log('hello.py finished.');
 console.log('results', results);
});

但是它导致错误提示“pyshell.run 不是函数”。所以我尝试用let {PythonShell} = require('python-shell') 替换第一行。另外,尝试const 而不是let。它不起作用,并弹出错误消息“未捕获的异常:错误:spawn py ENOENT”。互联网提供的示例都不适用于我...问题出在哪里?

【问题讨论】:

  • python 应该在路径中,在命令提示符下输入 python 检查它是否工作,如果它不工作则设置环境变量

标签: python node.js electron


【解决方案1】:

首先你可以分配一个像 ; 一样的常量

const pyshell = require('python-shell').PythonShell
// or
const {PythonShell} = require('python-shell')

而且你的代码没有选项就不能工作,因为命令需要一个目录,你应该使用 python-shell 之类的;

let {PythonShell} = require('python-shell');


var options = {
    scriptPath : path.join(__dirname, '/YOUR PYTHON DIRECTORY'),
    args : [],
    //mode: "json"
};

let pyshell = new PythonShell('test.py', options);

pyshell.on('message', function(message) {
    console.log(message);
    console.log(typeof message);
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-15
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-27
    相关资源
    最近更新 更多