Google App Engine: из Six.moves импорт http_client нет модуля с именем перемещается - PullRequest
0 голосов
/ 08 июня 2018

Okie dokie,

Я пытаюсь настроить Python API Google Dialogflow для работы с Google App Engine, и у меня возникают проблемы при запуске приложения.Я установил pip dialogflow в папку lib и добавил папку lib через файл app.yaml.Я продолжаю сталкиваться с ошибкой, в которой говорится, что он не может найти «шесть потоков».Очень новичок в этом (движок приложений в целом), поэтому, пожалуйста, скажите мне, если у меня что-то не так с настройкой.

Я прочитал несколько других тем без удачи.Это не будет работать локально или развернуто.

ниже мой файл app.yaml:

runtime: python27
api_version: 1
threadsafe: true
service: basic-npl-ui

handlers:
- url: /img
  static_dir: img

- url: /javascript
  static_dir: javascript

- url: /css
  static_dir: css

- url: /.*
  script: main.app



env_variables:
  GAE_USE_SOCKETS_HTTPLIB: 'anyvalue'

libraries:
- name: jinja2
  version: latest
- name: webapp2
  version: latest
- name: ssl
  version: latest
- name: grpcio
  version: latest

и вот мой журнал ошибок (локальная разработка):

Traceback (most recent call last):
  File "/Users/AVD1WIP/Downloads/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/Users/AVD1WIP/Downloads/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/Users/AVD1WIP/Downloads/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/Users/AVD1WIP/Documents/Orca_interns/NLP/basic_ui_app/main.py", line 28, in <module>
    from src.dialog_response_util import DialogflowResponseUtil
  File "/Users/AVD1WIP/Documents/Orca_interns/NLP/basic_ui_app/src/dialog_response_util.py", line 2, in <module>
    import dialogflow
  File "/Users/AVD1WIP/Documents/Orca_interns/NLP/basic_ui_app/lib/dialogflow/__init__.py", line 17, in <module>
    from dialogflow_v2 import AgentsClient
  File "/Users/AVD1WIP/Documents/Orca_interns/NLP/basic_ui_app/lib/dialogflow_v2/__init__.py", line 18, in <module>
    from dialogflow_v2.gapic import agents_client
  File "/Users/AVD1WIP/Documents/Orca_interns/NLP/basic_ui_app/lib/dialogflow_v2/gapic/agents_client.py", line 19, in <module>
    import google.api_core.gapic_v1.client_info
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/google/api_core/gapic_v1/__init__.py", line 16, in <module>
    from google.api_core.gapic_v1 import config
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/google/api_core/gapic_v1/config.py", line 26, in <module>
    from google.api_core import exceptions
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/google/api_core/exceptions.py", line 26, in <module>
    from six.moves import http_client
ImportError: No module named moves
INFO     2018-06-08 20:20:19,020 module.py:846] basic-npl-ui: "GET / HTTP/1.1" 500 -

Ответы [ 3 ]

0 голосов
/ 31 июля 2018

У меня тоже была эта проблема, убедитесь, что вы «поставляете» все свои зависимости, например,

pip install -t lib six==1.9.0

Чтобы устранить эту ошибку, мне пришлось указать версию, соответствующую той, которая использовалась в моей локальной установкебиблиотек python, добавленных инструментом gcloud

0 голосов
/ 18 апреля 2019

Эта проблема сводила меня с ума в течение довольно долгого времени, и ничего онлайн не помогло.Я наконец удалил grpcio из библиотек app.yaml, и это сработало:

libraries:
 - name: grpcio
   version: latest
0 голосов
/ 09 июня 2018

Трассировка указывает, что у вас есть некоторые зависимости, которые не установлены в каталоге lib вашего приложения, они получены из ваших локальных библиотек установки python.Обратите внимание на путь .../python2.7/site-packages/google/api_core/gapic_v1.

Вам необходимо установить все зависимости вашего приложения в lib dir вашего приложения, как указано в здесь .

...