Node.js child_process.spawn 无法启动 python 进程
Node.js child_process.spawn is unable to launch python process
我编写了以下代码来生成 python 进程。我可以启动其他进程,但不能 python。我尝试重新安装 python 和节点,但仍然没有成功。我可以从命令行 运行 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()
即使只是 spawn('python'); 也没有启动 python window
我也试过给出python.exe的绝对路径。
改变
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();
});
我编写了以下代码来生成 python 进程。我可以启动其他进程,但不能 python。我尝试重新安装 python 和节点,但仍然没有成功。我可以从命令行 运行 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()
即使只是 spawn('python'); 也没有启动 python window
我也试过给出python.exe的绝对路径。
改变
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();
});