如何在Google App Engine中使用ujson

时间:2017-07-01 00:01:13

标签: google-app-engine ujson

根据official list of built-in librariesujson可用。但是,以下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不可用?

1 个答案:

答案 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 .