wake-up-neo.net

python-Importfehler "Kein Modul mit dem Namen appengine.ext"

nachdem ich diesen Code ausgeführt habe, habe ich einen Importfehler gefunden: -

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 __== "__main__":
    main()

so verwenden Sie google.apengine.ext

20
Rajeev Das

Offenbar ist das App Engine SDK nicht installiert oder die Python-Laufzeitumgebung kann es nicht finden.

lesen und befolgen Sie die Anweisungen hier: https://cloud.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python

Sie erfahren, wie Sie das App Engine SDK für Python installieren.

16
Jörg Beyer
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']

das löst die probleme für mich

12
varun

Versuchen:

import google
print google.__path__

um zu sehen, was genau du importierst.

7
Xavi Gonzalvo

Ich hatte das gleiche Problem, weil ich vor dem Herunterladen und Installieren des SDK gcloud installiert habe. Bei der pip-Installation wurde ein Python-Paket google erstellt, das nicht das im Modul SDK enthaltene Appengine-Submodul enthielt. Ich habe die gcloud und die zugehörigen Pakete deinstalliert. Dann hat pip nur die google-cloud-bigquery installiert, die das einzige Paket ist, das ich von gcloud benötigte. Jetzt funktioniert alles gut.

2
Paul Bendevis

Beim Aufrufen der Google Analytics-API mit AWS Lambda ist ein ähnlicher Fehler aufgetreten.

Problemumgehung von (Schweigi 1 ) hat mir geholfen.

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

Verwendungszweck:

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

Hoffe, dies hilft jemandem, der mit diesem Problem in AWS Lambda konfrontiert ist.

1
Ash

Erster möglicher Grund:

du installierst die python library nicht in google cloud sdk, also kannst du sie in cmd ausführen (als administrator):

gcloud components install app-engine-python.

Zweiter möglicher Grund:

ihr IDE ist kein Erfolg in Google-Bibliotheken zu bekommen, sie existieren in:

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

oder in:

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

Unter dem angehängten Link erfahren Sie, wie Sie diese Bibliotheken zu IDE externen Bibliotheken hinzufügen: https://stackoverflow.com/a/24206781/8244338

1
Israel

prüfen Sie, ob Sie im selben Paket eine Datei google.py :) benannt haben, da dies den Import von google.appengine.ext spiegeln kann. Ich hatte den gleichen Fehler:

python import error “No module named appengine.ext”

und Löschen der Datei löste das Problem. 

0
makkasi