gpt4 book ai didi

javascript - 使用 python-shell 在 Node 和 Python 之间传递数据,在 win 7 上出现错误

转载 作者:行者123 更新时间:2023-12-03 03:58:54 26 4
gpt4 key购买 nike

我正在使用一个名为 python-shell 的库来尝试在 Node 和 python 之间来回发送数据。下面的代码应该可以工作,但是当我运行它时,我收到此错误:

events.js:160
throw er; // Unhandled 'error' event
^

Error: write EPIPE
at exports._errnoException (util.js:1022:11)
at Socket._writeGeneric (net.js:712:26)
at Socket._write (net.js:731:8)
at doWrite (_stream_writable.js:334:12)
at writeOrBuffer (_stream_writable.js:320:5)
at Socket.Writable.write (_stream_writable.js:247:11)
at Socket.write (net.js:658:40)
at PythonShell.send (C:\Users\user\Desktop\node py project\fourth draft\node
_modules\python-shell\index.js:205:16)
at Object.<anonymous> (C:\Users\user\Desktop\node py project\fourth draft\in
dex.js:4:9)
at Module._compile (module.js:570:32)

我的index.js:

var PythonShell = require('python-shell');
var pyshell = new PythonShell('script.py');

pyshell.send(JSON.stringify([1,2,3,4,5]));//the problem function

pyshell.on('message', function (message) {
// received a message sent from the Python script (a simple "print" statement)
console.log(message);
});

// end the input stream and allow the process to exit
pyshell.end(function (err) {
if (err){
throw err;
};

console.log('finished');
});

我的脚本.py:

import sys, json

#Read data from stdin
def read_in():
lines = sys.stdin.readlines()
# Since our input would only be having one line, parse our JSON data from that
return json.loads(lines[0])

def main():
#get our data as an array from read_in()
lines = read_in()

# Sum of all the items in the providen array
total_sum_inArray = 0
for item in lines:
total_sum_inArray += item

#return the sum to the output stream
print total_sum_inArray

# Start process
if __name__ == '__main__':
main()

我认为这与 win 7 上 python 的环境路径有关。

有什么想法吗?库文档位于此处:https://github.com/extrabacon/python-shell 。另外,我使用的是 Windows 7 Node v6.9.2 Python v3.6.1。

最佳答案

尝试将 python 路径参数传递给脚本,如下所示

var pyshell = new PythonShell('script.py',{pythonPath : '<path/to/python>'});

通过这种方式,您可以显式设置 python 可执行命令的路径,而不管任何操作系统。

这里是所有 available options 的引用,可以传递给 python-shell 构造函数。

希望这能解决问题(如果它与 Python 路径问题有关)。

关于javascript - 使用 python-shell 在 Node 和 Python 之间传递数据,在 win 7 上出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44819247/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com