Как использовать ujson с Google App Engine

Согласно официальному списку встроенных библиотек, 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 (последняя версия) и даже вижу запись "ujson" в google-cloud-sdk/lib/googlecloudsdk/third_party/appengine/api/appinfo.py,

Любая подсказка, почему UJSON не может быть использован?

1 ответ

Решение

ujson v1.35 был добавлен во время выполнения движка приложения в Python SDK версии 1.9.55.

Эта версия SDK не была включена в SDK gcloud до версии 161.0.0 (2017-06-28):

Обновлены компоненты App Engine для Python до версии 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:

ВНИМАНИЕ: в вашей системе PATH имеются более старые версии инструментов 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 .
Другие вопросы по тегам