2017-07-26 67 views
1

我寫了下面的代碼來產生一個python進程。我能夠啓動其他進程,但不是python。我嘗試重新安裝Python和節點,但仍然沒有運氣。我能夠從命令行運行python。請幫忙。Node.js child_process.spawn無法啓動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

我使用的

Python腳本:

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窗口

我也嘗試給絕對路徑的python.exe。

+0

你得到任何錯誤? –

+0

沒有錯誤。只是沒有發生。 –

+0

你可以發佈python腳本嗎? –

回答

0

變化

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

​​

,並添加

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

下面

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