Подтвердить что ты не робот

Ошибка импорта python "Нет модуля с именем appengine.ext"

после запуска этого кода я обнаружил ошибку импорта: -

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()

как использовать google.apengine.ext

4b9b3361

Ответ 1

Похоже, SDK App Engine не установлен или, по крайней мере, среда выполнения Python не может его найти.

прочитайте и следуйте инструкциям здесь: https://cloud.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python

Они расскажут вам, как установить App Engine SDK для Python.

Ответ 2

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']

это решает проблемы для меня

Ответ 3

Try:

import google
print google.__path__

чтобы узнать, что именно вы импортируете.

Ответ 4

У меня была такая же проблема, потому что я пытаюсь установить gcloud перед загрузкой и установкой SDK. Установка pip создала пакет python google, который не содержал подмодуль appengine (который находится в папке SDK). Я удалил gcloud и связанные пакеты. Тогда просто pip установил google-cloud-bigquery, который является единственным пакетом, который мне нужен от gcloud. Теперь все работает отлично.

Ответ 5

проверьте, если вы назвали какой-то файл google.py:) в том же пакете, потому что это может затенять импорт google.appengine.ext. У меня была такая же ошибка:

python import error "No module named appengine.ext"

и удаление файла решило проблему.

Ответ 6

Я столкнулся с подобной ошибкой при вызове Google Analytics API с использованием AWS Lambda.

Обход из (Schweigi 1) помог мне.

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

Использование:

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

Надеюсь, что это поможет кому-то, кто сталкивается с этой проблемой в AWS Lambda.

Ответ 7

Первая возможная причина:

Вы не устанавливаете библиотеку Python в Google Cloud SDK, поэтому вы можете запустить в CMD (как администратор):

gcloud components install app-engine-python.

Вторая возможная причина:

Ваша IDE не удалась попасть в библиотеки Google, они существуют в:

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

или в:

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

Вы можете увидеть в прикрепленной ссылке объяснение, как добавить эти библиотеки во внешние библиотеки IDE: fooobar.com/info/202219/...