Как использовать 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 .