从index.js云函数运行python脚本

时间:2018-01-07 11:06:11

标签: python node.js google-cloud-functions

我正在尝试从node.js-云函数索引文件运行python脚本。 为了访问python脚本,我也使用“python-shell”... 问题是我每次运行部署index.js文件的函数时, 它打印出这个错误:

Error: python: can't open file '../Python36/fListener.py': [Errno 2] 
                     No such file or directory

at PythonShell.parseError (/user_code/node_modules/python-
 shell/index.js:190:17)
at terminateIfNeeded (/user_code/node_modules/python-shell/index.js:98:28)
at Socket.<anonymous> (/user_code/node_modules/python-shell/index.js:78:9)
at emitNone (events.js:91:20)
at Socket.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickDomainCallback (internal/process/next_tick.js:128:9)

另外,我尝试在node.js'functions'文件夹中创建python项目,但它指向我在库上的不同'import'错误,我试图在python的script.something上使用这样的错误:

 File "py_project/fListener.py", line 1, in <module>
      import sseclient

通过node.js云函数执行python脚本的正确方法是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

这是从云函数调用Python脚本的一种不同方法,不使用python-shell。我们的想法是将Python代码与PyInstaller(“将Python程序冻结(打包)成独立可执行文件的程序”)打包成一个自执行单元,稍后由节点执行的函数使用。 js脚本。在Stack Overflow topic中对此进行了更深入的讨论。