Rajeev Das
Rajeev Das

Reputation: 1621

python import error "No module named appengine.ext"

after runing this code,I found import error:-

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, webapp World!')

application = webapp.WSGIApplication([('/', MainPage)],debug=True)

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()

how to use google.apengine.ext

Upvotes: 25

Views: 57483

Answers (8)

Sanit
Sanit

Reputation: 1

I got this error in python:

from google.appengine.api import search
ImportError: No module named appengine.api

I thought this would be something along the similar lines of what is happening in this thread.

So, my solution was to run "dev_appserver.py 'your yaml file' ". I got this solution following the below links:

1) https://cloud.google.com/appengine/docs/standard/python/tools/using-local-server

2) https://www.youtube.com/watch?v=BdqUY8lCuBI

Hope this helps!

Upvotes: 0

Israel
Israel

Reputation: 1464

First possible reason:

you don't install the python library in google cloud sdk, so you can run in cmd (as administrator):

gcloud components install app-engine-python.

Second possible reason:

your IDE is not success get into google libraries, they exist in:

C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine

or in:

C:\Users\[your user]\AppData\Local\Google\Cloud SDK\google-cloud-sdk\platform\google_appengine

You can see in attached link explain how to add these libraries to IDE external libraries: https://stackoverflow.com/a/24206781/8244338

Upvotes: 1

Ash
Ash

Reputation: 1466

I faced similar error while calling Google Analytics API using AWS Lambda.

Workaround from (Schweigi1) helped me.

import googleapiclient
from googleapiclient.discovery_cache.base import Cache

class MemoryCache(Cache):
    _CACHE = {}

    def get(self, url):
        return MemoryCache._CACHE.get(url)

    def set(self, url, content):
        MemoryCache._CACHE[url] = content

Usage:

service = googleapiclient.discovery.build("analyticsreporting", "v4", http=http, credentials=credentials,cache=MemoryCache())

Hope this helps someone who is facing this issue in AWS Lambda.

Upvotes: 1

makkasi
makkasi

Reputation: 7328

check if you named some file google.py :) in the same package, because this can shadow the import of google.appengine.ext. I had the same error:

python import error “No module named appengine.ext”

and deleteting the file solved the problem.

Upvotes: -1

Paul Bendevis
Paul Bendevis

Reputation: 2621

I had this same issue because I pip installed gcloud before downloading and installing the SDK. The pip install created a python package google which didn't contain the appengine submodule (which is found in the SDK folder). I uninstalled the gcloud and related packages. Then just pip installed the google-cloud-bigquery which is the only package I needed from gcloud. Everything works fine now.

Upvotes: 2

varun
varun

Reputation: 4650

import sys
sys.path.insert(1, '/Users/<username>/google-cloud-sdk/platform/google_appengine')
sys.path.insert(1, '/Users/<username>/google-cloud-sdk/platform/google_appengine/lib/yaml/lib')
sys.path.insert(1, 'lib')

if 'google' in sys.modules:
    del sys.modules['google']

this solves the problems for me

Upvotes: 21

Xavi Gonzalvo
Xavi Gonzalvo

Reputation: 149

Try:

import google
print google.__path__

to see what exactly you're importing.

Upvotes: 10

J&#246;rg Beyer
J&#246;rg Beyer

Reputation: 3671

It looks like the App Engine SDK is not installed, or at least the Python runtime cannot find it.

read and follow the instructions here: https://cloud.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python

They tell you, how to install App Engine SDK for Python.

Upvotes: 19

Related Questions