Не удается развернуть Google AppEngine - невозможно установить библиотеку google.appengine - ModuleNotFound ez_setup - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь развернуть API в Google Cloud в Google AppEngine, используя python3 со стандартной средой, и я хочу использовать функцию отсрочки для помещения функций в Google CloudTasks, как показано здесь: https://cloud.google.com/appengine/docs/standard/python/taskqueue/push/creating-tasks#using_the_instead_of_a_worker_service

Я попытался поместить google.appengine в файл needs.txt, где библиотеки python обычно указаны для pip install, добавив строку с google-appengine, но она не работает при развертывании, со следующим сообщением об ошибке:

ModuleNotFoundError: No module named 'ez_setup'

Я добавил ez_setup в список требований перед appengine, и это по-прежнему приводит к той же ошибке.

Я также попытался развернуть его без импорта google.appengine, подумавон может быть уже установлен, но затем я получаю ожидаемую ошибку, говорящую No module named 'google.appengine' при импорте.enter image description here

Что-то мне не хватает при установке / импорте этой библиотеки?Или библиотека устарела, и какая-то новая библиотека используется для отсрочки ?

Я также пытался установить библиотеку на свой локальный компьютер, но установить ее здесь также не удалось..

Ответы [ 2 ]

1 голос
/ 24 сентября 2019

Как уже упоминалось в ответе @ OqueliAMartinez, нужная вам функция (API очереди задач) недоступна в стандартной среде python37 / 2nd generation.Страница документации, на которую вы ссылаетесь, применима только к стандартной среде Python27 / 1-го поколения.

Для других сред выполнения / сред, включая python37, вам необходимо использовать API Cloud Tasks .Который, к сожалению, не поддерживает (по крайней мере пока) отложенные задачи.От Функции в очередях задач, которые еще не доступны через API облачных задач :

Отложенные / отложенные задачи :

В некоторых случаях, когда выможет потребоваться ряд небольших задач, выполняемых асинхронно, но вы не хотите выполнять настройку отдельных обработчиков, SDK App Engine позволяет использовать библиотеки времени выполнения для создания простых функций для управления этими задачами.Эта функция недоступна в облачных задачах.Обратите внимание, что обычные задачи можно планировать в будущем с помощью облачных задач.

Единственный способ отложить функции в этом случае - вызвать их в обработчике очереди задач на рабочей стороне (изапланируйте задачи на будущее, необходимые для реализации отсрочки).

Как-то связано: API облачных задач для python2.7 google app engine

1 голос
/ 24 сентября 2019

Как указано в общедоступной документации, у вас есть только Shared

Функция создания задач и помещения их в очереди push недоступна для среды выполнения Python 3.7.Это причина того, что она не может быть развернута.

Если вы попробуете это на Python 2.7, это должно работать без проблем.

...