【发布时间】:2019-08-23 18:17:05
【问题描述】:
我正在使用 Python 3.7 运行时设置新的 Google App Engine。但是,即使设置非常少,它也会失败。
app.yaml 很简单:
runtime: python37
main.py 就这么简单:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello World!'
最后 requirements.txt 很简单:
Flask>=1.0.2
torch==1.0.1
Flask-Compress>=1.4.0
numpy>=1.16.2
我预计此设置在发出 gcloud app deploy 时会起作用,但我收到了一个错误 - 这是 Google Cloud Build 上错误日志的最后几行:
(log lines before this omitted as they're on INFO level)
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/local/bin/ftl.par/__main__.py", line 65, in <module>
File "/usr/local/bin/ftl.par/__main__.py", line 54, in main
File "/usr/local/bin/ftl.par/__main__/ftl/python/builder.py", line 114, in Build
File "/usr/local/bin/ftl.par/__main__/ftl/python/layer_builder.py", line 153, in BuildLayer
File "/usr/local/bin/ftl.par/__main__/ftl/common/single_layer_image.py", line 60, in GetCacheKey
File "/usr/local/bin/ftl.par/__main__/ftl/python/layer_builder.py", line 109, in GetCacheKeyRaw
File "/usr/local/bin/ftl.par/__main__/ftl/python/layer_builder.py", line 332, in GetCacheKeyRaw
File "/usr/local/bin/ftl.par/__main__/ftl/python/layer_builder.py", line 346, in _python_version
File "/usr/lib/python2.7/subprocess.py", line 394, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 938, in _execute_child
self.pid = os.fork()
OSError: [Errno 12] Cannot allocate memory
为什么会失败?当它开始使用python 3.7时,它在这里使用python 2.7是否正常?似乎找不到任何有关此特定错误的文档 - 我试图增加 app.yaml 文件中的内存,但没有任何运气。
【问题讨论】:
-
Python 2.7 在幕后被用于为您的应用构建映像,这无关紧要。在安装
torch依赖项时,我能够重现这一点,但这不应该失败。我已经在内部提交了一个问题。如果你现在可以避免安装torch,我会推荐它。
标签: python google-app-engine pytorch python-3.7