import subprocess
import os
def execute():
code = "def Solution():ntprint('Hello')nnSolution()n"
f = open('/tmp/Solution.py','w')
f.write(code+'n')
f.close()
s = subprocess.check_output("python /tmp/Solution.py", shell = True)
return s
我正在从云函数处理程序调用执行函数。这在本地工作,但在 gcloud 上subprocess.check_output返回非零退出代码。
是因为 gcloud 运行时环境找不到 python 解释器吗?无论哪种情况,我怎么能做这样的事情?我在这里错过了什么?我在日志中没有太多信息,所以我被卡住了。
谢谢
你必须期望你的函数被部署到一个容器中,在你的例子中,一个包含 Python 运行时。你不能假设你的云函数也包含一个 shell。因此,不建议在 python 代码中使用subprocess
。