0

приложение двигатель не удается импортировать gcloud используется gcloud приложение развертывания app.yaml \ cron.yaml развернуть на Google App EngineGoogle-приложение-двигатель не запускать Cron работу и дает ImportError: Нет модуль с именем gcloud

открыл в браузере и получить:

Traceback (most recent call last): 
    File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle 
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler()) 
    File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler 
    handler, path, err = LoadObject(self._handler) 
    File "/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 85, in LoadObject 
    obj = __import__(path[0]) 
    File "/base/data/home/apps/s~gcp-project-01/20160916t160552.395688991947248655/main.py", line 18, in <module> 
    import update_datastore as ud 
    File "/base/data/home/apps/s~vehicle-monitors-api/20160916t160552.395688991947248655/update_datastore.py", line 20, in <module> 
    from gcloud import datastore, logging 
ImportError: No module named gcloud 

app.yaml файл:

runtime: python27 
    api_version: 1 
    threadsafe: true 

handlers: 
- url:/
    script: main 
    login: admin 

cron.yaml файл:

cron: 
    - description: run main app 
     url:/
     target: main 
     schedule: every 2 minutes 

requirements.txt файл:

gcloud==0.14.0 
+0

Вы когда-нибудь устанавливали файл требований? например 'pip install -t lib -r requirements.txt'? – GAEfan

+0

@GAEfan Я получаю такую ​​же ошибку даже после установки файла требований с помощью команды pip как упоминание вами ранее. – Analytics360

+0

Слишком много возможностей. Как выглядит ваше файловое дерево? Является gcloud в вашем sys.path? Удалите «цель: main» из cron, поскольку это неверно. – GAEfan

ответ

0

Получил это! Использование путь:

import sys 
sys.path.insert(0, 'lib') 

Дополнительно:
Также необходимо добавить Protobuf требований: protobuf==3.1.0.post1

создать __init__.py в папку Google:

# this is a namespace package 
try: 
    import pkg_resources 
    pkg_resources.declare_namespace(__name__) 
except ImportError: 
    import pkgutil 
    __path__ = pkgutil.extend_path(__path__, __name__) 

также использовать pip install -t lib --upgrade protobuf

gcloud==0.18.1 б/у.

Извините, что отправил последний пост

0

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

pip install gcloud -t . 
+0

Хотя этот * может * работать, он фактически не совпадает с рекомендуемой сторонней процедурой установки: https://cloud.google. ком/AppEngine/Docs/Python/инструменты/с использованием библиотеки по-питон-27 # installing_a_library –

Смежные вопросы