Ошибка импорта при попытке перенести приложение Google App Engine Python 2 с использованием NDB в библиотеку Cloud NDB Python 3 - PullRequest
0 голосов
/ 14 февраля 2020

В настоящее время я запускаю процесс подготовки приложения App Engine для миграции Python 3. На первом этапе:

  1. Миграция связанных служб App Engine в приложении Python 2 в облачные службы Google ...

Подписан все инструкции для переключения модуля хранилища данных с google.appengine.ext.ndb на google.cloud.ndb, я сразу получаю следующую ошибку импорта:

  File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 311, in _LoadHandler
handler, path, err = LoadObject(self._handler)
  File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
  File "/home/---.py", line 8, in <module>
from google.cloud import ndb
  File "/home/test_env/local/lib/python2.7/site-packages/google/cloud/ndb/__init__.py", line 28, in <module>
from google.cloud.ndb.client import Client
  File "/home/test_env/local/lib/python2.7/site-packages/google/cloud/ndb/client.py", line 23, in <module>
from google.cloud import _helpers
  File "/home/test_env/local/lib/python2.7/site-packages/google/cloud/_helpers.py", line 29, in <module>
from six.moves import http_client

ImportError: No module named moves

Это происходит независимо от того, проверяю ли я в виртуальная среда. Импорт six.moves работает в консоли python.

1 Ответ

1 голос
/ 14 февраля 2020

По-видимому, это проблема связанного тестового сервера dev_appserver.py. Обнаружено, что это решено здесь Andrewsg:

Я думаю, что мы определили проблему с devappserver, связанную именно с шестью библиотеками. Не могли бы вы попробовать обходной путь? Добавьте строку: import six; reload(six) в начало вашего приложения до загрузки NDB

...