python - 如何在 Google Cloud Function 中将 python 脚本作为子进程运行
问题描述
import subprocess
import os
def execute():
code = "def Solution():\n\tprint('Hello')\n\nSolution()\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 运行时。您不能假设您的云功能也包含一个外壳。因此不建议subprocess
在您的 python 代码中使用。
推荐阅读
- javascript - 从 Keras 到 Tensorflowjs 的标记器
- spring-boot - 如何将服务调用注入另一个方法?
- javascript - 如何使用ajax和JSP实时更新表格
- pandas - 当我只想添加两个值并设置其余的空白时,如何向数据框添加新行?
- c - 为什么 MSVC 不在生成的汇编代码中分配 32 字节的影子空间?
- json - 如何使用 YouTube API 提取视频标题和下一页令牌?
- ios - MZInAppLockerAccessException(状态 21010)Apple verifyReceipt 端点异常应用内购买订阅
- javascript - 在反应中将json转换为Formdata
- azure - 同时部署到触发器的管道失败?
- python - 在多个文件中使用正则表达式计算多个字符串