Google App Engine: desde seis .moves importa http_client ningún módulo llamado movimientos

De acuerdo ♥,

Estoy intentando que la API de python Dialogflow de Google funcione con Google App Engine y parece que tengo problemas cuando ejecuto la aplicación. Instalé pip pipflow en una carpeta lib y agregué la carpeta lib a través del archivo app.yaml. Sigo corriendo en un error donde dice que no puede encontrar ‘six.moves’. Muy nuevo en esto (motor de aplicaciones en general), así que dime si tengo algo mal configurado.

He leído algunos otros hilos sin suerte. Esto no funcionará localmente o desplegado.

A continuación se muestra mi archivo 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 

y aquí está mi registro de errores (desarrollo local):

 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  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  import dialogflow File "/Users/AVD1WIP/Documents/Orca_interns/NLP/basic_ui_app/lib/dialogflow/__init__.py", line 17, in  from dialogflow_v2 import AgentsClient File "/Users/AVD1WIP/Documents/Orca_interns/NLP/basic_ui_app/lib/dialogflow_v2/__init__.py", line 18, in  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  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  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  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  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 - 

El rastreo indica que tiene algunas dependencias que no están instaladas en el directorio lib su aplicación, que se seleccionan en las bibliotecas de instalación de Python locales. Tenga en cuenta la .../python2.7/site-packages/google/api_core/gapic_v1 allí.

Debe instalar todas las dependencias de su aplicación en el directorio lib su aplicación, como se menciona aquí .

Yo también tuve este problema, asegúrese de que “venda” todas sus dependencias, por ejemplo

 pip install -t lib six==1.9.0 

Para resolver este error, tuve que especificar la versión para que coincida con la utilizada en mi instalación local de bibliotecas de Python agregada por la herramienta gcloud