Лучшие практики с движком облачных приложений Google: Python2 или Python3? - PullRequest
0 голосов
/ 16 мая 2018

Я новичок в Google Cloud Platform и в целом работаю над Python 3. Я пытаюсь выяснить, какая версия Python является более полной для Google App Engine: Python 2.7 или Python 3.

Когда я начинаю работать с Google App Engine, я понял, что продолжать использовать Python 3 кажется слишком болезненным, поскольку базовые инструменты, такие как dev_appserver.py, написаны только для Python 2 * .Теперь я сталкиваюсь с противоположной проблемой: cloudstorage module , кажется, существует только для python3 .Опять же, когда я его устанавливаю, кажется, что единственный способ проверить чтение / запись в google bucket локально - это аутентификация с помощью google.appengine.ext, которая, в свою очередь, работает только в dev_appserver.py или удаленно.Это оставляет меня в замешательстве, какую среду выбрать.

Какое общее соглашение / на чем фокусируется Google App Engine: Python 2 или Python 3?

Ответы [ 4 ]

0 голосов
/ 18 мая 2018

Предположение о поддержке облачного хранилища только для python3, основанное на сообщении SO, на которое вы ссылались, неверно:

GCS определенно поддерживается в стандартном env GAE (то есть на python 2), вам просто нужно выполнить шаги из официальногодокументация: Настройка Google Cloud Storage и Чтение и запись в Google Cloud Storage .

0 голосов
/ 16 мая 2018

В App Engine вам доступны следующие опции: среда Standard и среда Flexible .

Python 2.7 доступен в Standard и Flexible , в то время как Python 3.6 доступен только в Flexible .

Также возможен выбор между Standard иГибкость зависит от того, что вы хотите сделать / какие библиотеки вам нужны:

  • В стандартной среде уже есть сторонние библиотеки, уже встроенные , и вы можете включить другие библиотеки , но эти библиотеки не могут включать расширения C, они должны быть написаны на чистом Python.Если вам нужны библиотеки с расширениями C, вам придется перейти на Flexible .
  • . В Standard вы можете использовать пропиетарные библиотеки (например, google.appengine.ext, как вы упомянули) для выполнения таких задач, какдоступ к базам данных, а в Flexible вы можете использовать другие библиотеки (например, клиент , который вы упомянули).

Есть и еще важных отличий , таких как цены, масштабирование и т. Д. Выбор, как я уже сказал, будет зависеть от ваших потребностей в вашем приложении.

РЕДАКТИРОВАТЬ

dev_appserver.py используется только при разработке в стандарте.Здесь есть учебник с Flask.Если вы работаете в Flexible, вы можете протестировать приложение локально, как если бы вы работали как обычно с файлом Python, как в этом другом примере .

Вы можете использовать ведра как в Стандартном , так и Гибком

0 голосов
/ 16 мая 2018

Это зависит от того, для чего вы его используете. Например, если вы занимаетесь наукой о данных, я вижу несколько замечаний о библиотеках Python, которые (наконец-то) отбрасывают поддержку Python 2. numpy - это поддержка отбрасывания .

В общем, я бы порекомендовал Python 3 вместо Python 2. Зачем тратить время на разработку устаревшей версии, когда ее замена хорошо созрела и стала более последовательной?

0 голосов
/ 16 мая 2018

Оба были хорошими. Но вопрос в том, какую среду ты хочешь? Стандартная среда или Гибкая среда.

Найдите свой ответ в этом документе: https://cloud.google.com/appengine/docs/python/

...