4

Я следующий this tutorial по настройке облачных конечных точек в питона на Googles приложение двигателя и держать на получение ошибкиПолучить ImportError: Нет модуль с именем контроля, когда после Google облака конечной учебник

ImportError: No module named control 

импорта на , порождающие конфигурационный файл OpenAPI шаг, когда я входной

python lib/endpoints/endpointscfg.py get_swagger_spec main.EchoApi --hostname echo-api.endpoints.projectid.cloud.goog 

Я последовал за эти шаги на новой учетной записи и до сих пор получил эту ошибку. Не знаю, что я делаю неправильно/шаги Я пропускаю.

вот отслеживающий:

Traceback (most recent call last): 
    File "lib/endpoints/endpointscfg.py", line 625, in <module> 
    main(sys.argv) 
    File "lib/endpoints/endpointscfg.py", line 621, in main 
    args.callback(args) 
    File "lib/endpoints/endpointscfg.py", line 479, in _GenOpenApiSpecCallback 
    application_path=args.application) 
    File "lib/endpoints/endpointscfg.py", line 324, in _GenOpenApiSpec 
    application_path=application_path) 
    File "lib/endpoints/endpointscfg.py", line 181, in GenApiConfig 
    module = __import__(module_name, fromlist=base_service_class_name) 
    File "/home/hairyhenry/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/main.py", line 19, in <module> 
    import endpoints 
    File "/home/hairyhenry/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/__init__.py", line 29, in <module> 
    from apiserving import * 
    File "/home/hairyhenry/python-docs-samples/appengine/standard/endpoints-frameworks-v2/echo/lib/endpoints/apiserving.py", line 74, in <module> 
    from google.api.control import client as control_client 
ImportError: No module named control 

любое понимание будет сказочным

ответ

0

Я имел такую ​​же проблему, используя 2.0.0, но с использованием b2 релиз вместо работал для меня. Удалить папку lib и запустите:

pip install -t lib google-endpoints==2.0.0b2

Использование этой версии будет генерировать файл с именем echo-v1_swagger.json вместо echov1openapi.json, как указано в документации, так что вы должны выполнить следующую команду, чтобы развернуть файл конфигурации вместо :

gcloud service-management deploy echo-v1_swagger.json

+0

Это не генерирует файл echo-v1_swagger.json для меня. Я смотрю на неправильное место? – puoyaahhh

+0

@haopei: вам еще нужно запустить соответствующую команду 'python lib/endpoints/endpointscfg.py get_swagger_spec ...' после установки версии b2. – Aert

+0

Я по-прежнему получаю эту ошибку для 2.0.0b2 –

0

Это может быть из-за конфликта между библиотекой среды и приложения. Это то, что this page указывает, и совет в конце работал для меня:

I would recommend activating an empty virtualenv before running endpointscfg.py so that your system packages don't cause issues.

Я сделал это с:

mkdir /tmp/ve 
virtualenv /tmp/ve 
/tmp/ve/bin/python lib/endpoints/endpointscfg.py ... 
0

Это та же самая проблема сообщается как #35901199 в системе отслеживания проблем, и был отмечен как предполагаемое поведение, так как Control API является частью Google API Client Library, и вы можете запустить команду 'pip install --upgrade google-api-python-client' для ее установки, которая должна решить ошибки «Нет модуля». Тем не менее, мы должны также сообщить об этом на уровне issue tracker here.