Google AppEngine Python 3.7 上的自定义库

Custom libraries on Google AppEngine Python 3.7

我正在尝试在 Google AppEngine Python 3.7 标准环境中部署服务,这需要一组库作为依赖项。无法部署依赖项之一 (GDAL 2.2.2) 并返回错误消息:

File upload done.
Updating service [pycloud-wms]...failed.
ERROR: (gcloud.app.deploy) Error Response: [9] Cloud build 04c3dcfd- 
230d-44ad-981a-8819a5f60130 status: FAILURE.
Error ID: 9E195939.
Error type: InternalError.
Error message: `pip_download_wheels` had stderr output:
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-wheel-p30r4tj3/gdal/
error: `pip_download_wheels` returned code: 1.

我想知道这个错误的原因,以及是否有人知道在 GAE 上解决这个问题的方法。

注意:我知道我可以使用容器使用 GAE Flexible 环境部署我的应用程序,但是这两种方法之间的价格差异非常大。

dependencies in the Google App Engine Python3.7 runtime 是使用 Python 包管理器 pip 安装的。

要在 GAE 标准 Python3.7 运行时中安装 Python 包,需要将其作为 pip-installable Python 库提供。

GDAL package 可通过 pip 安装,但它需要安装 libgdalgdal-devel 平台包,它们不包含在基本运行时中适用于 App Engine 标准 Python3.7 运行时。

解决方法是使用GAE Flex环境,先安装这些平台级的依赖。