Google App Engine: из шести. Ходов import http_client нет модуля с именем move

Хорошо,

Я пытаюсь заставить Google Dialogflow python API работать с Google App Engine, и, похоже, у меня возникают проблемы при запуске приложения. Я установил диалоговое окно pip в папку 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 -

на самом деле КАЖДОЕ одно предложение ниже не работает .. Это расстраивает

Joshua H 11.07.2019 08:33
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
1
1 057
3

Ответы 3

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

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

У меня тоже была эта проблема, убедитесь, что вы "являетесь поставщиком" всех своих зависимостей, например

pip install -t lib six==1.9.0

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

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

libraries:
 - name: grpcio
   version: latest

Другие вопросы по теме