根据official list of built-in libraries,ujson
可用。但是,以下app.yaml片段:
libraries:
- name: ujson
version: '1.35'
...生成此错误:
Usage: appcfg.py [options] update <directory> | [file, ...]
appcfg.py: error: Error parsing ./app.yaml: the library "ujson" is not supported
in "./app.yaml", line 89, column 1.
如果我尝试使用其他受支持的C库,如numpy,它可以正常工作。我正在运行SDK 159.0.0(最新版),甚至可以看到&#34; ujson&#34; google-cloud-sdk/lib/googlecloudsdk/third_party/appengine/api/appinfo.py
中的条目。
任何线索,为什么ujson不可用?
答案 0 :(得分:1)
ujson v1.35
已添加到Python SDK版本1.9.55中的应用引擎运行时。
在v 161.0.0 (2017-06-28)之前,此sdk版本未包含在gcloud sdk中:
将Python的App Engine组件更新为1.9.55版。有关详细信息,请访问发行说明
轶事:
我们中的一些人仍然更喜欢appcfg.py update .
而不是gcloud app deploy app.yaml
。(我们是一种罕见且垂死的品种:D )。
所以在过去我注意到我使用的appcfg.py
工具是较早的应用引擎工具的旧版本。并不是所有的gcloud components update
都很棒。你每次都必须下载二进制文件。
which appcfg.py
应该显示正确使用的对象是:
$ ~/google_appengine/appcfg.py
我不能说我没有得到足够的警告。此外,每次运行gcloud components update
时,我都会看到这个建议/警告:
警告:系统路径上有旧版Google Cloud Platform工具。 请删除以下内容以避免意外调用这些旧工具:
/Users/jeff/google_appengine/endpointscfg.py /usr/local/bin/endpointscfg.py /Users/jeff/google_appengine/dev_appserver.py
因此,请更新到最新版本,更新您的路径以指向正确的appcfg,并在他们放弃时享受ujson
或任何好处。
$ ~/google-cloud-sdk/platform/google_appengine/appcfg.py update .