Analytics360 Analytics360 - 1 year ago 180
Python Question

google-app-engine fails to run Cron job and gives an ImportError: No module named gcloud

app-engine fails to import gcloud
used gcloud app deploy app.yaml \cron.yaml to deploy on google app engine

opened on browser and get:

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

The app.yaml file:

runtime: python27
api_version: 1
threadsafe: true

- url: /
script: main
login: admin

The cron.yaml file:

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

the requirements.txt file:


Answer Source

Got it working! Use path:

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

Also need to add protobuf in requirements: protobuf==3.1.0.post1

create in google folder:

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

also use pip install -t lib --upgrade protobuf

gcloud==0.18.1 used.

Sorry for the late post

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download