代码之家  ›  专栏  ›  技术社区  ›  Chandan Kumar

节点。js child_进程。spawn无法启动python进程

  •  3
  • Chandan Kumar  · 技术社区  · 8 年前

    我编写了以下代码来生成python进程。我可以启动其他进程,但不能启动python。我尝试重新安装python和node,但仍然没有成功。我能够从命令行运行python。请帮忙。

    const spawn = require("child_process").spawn;
    var process = spawn('python',[ 'D:/python_script.py']);
    
    var responseData = "";
    
    process.stdout.setEncoding('utf-8');
    process.stdout.on('data', function (data){
        responseData += data.toString();
    });
    process.stdout.on('end',function(data){
        console.log(JSON.stringify(responseData));
    });
    

    使用节点64位v8.2.1

    if __name__ == '__main__':
        import sys
        print("Hello")
        f = open('D:/myfile.txt', 'w')
        f.write('hi there\n')  # python will convert \n to os.linesep
        f.close()
        sys.stdout.flush()
    

    甚至只是 繁殖(“python”);

    1 回复  |  直到 8 年前
        1
  •  1
  •   thomasmeadows    8 年前

    改变

    console.log(JSON.stringify(responseData));
    

    console.log(responseData);
    

    process.stderr.on('data', function (data){
        responseData += data.toString();
    });
    

    在下面

    process.stdout.on('data', function (data){
        responseData += data.toString();
    });