25

运行此代码后,我发现导入错误:-

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

4

8 回答 8

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

这为我解决了问题

于 2016-09-08T10:42:46.887 回答
18

看起来 App Engine SDK 没有安装,或者至少 Python 运行时找不到它。

阅读并按照此处的说明进行操作:https ://cloud.google.com/appengine/downloads#Google_App_Engine_SDK_for_Python

他们告诉你,如何安装 App Engine SDK for Python。

于 2013-04-03T09:45:43.713 回答
10

尝试:

import google
print google.__path__

看看你到底在导入什么。

于 2016-08-07T13:51:50.933 回答
2

我遇到了同样的问题,因为我在下载和安装 SDK 之前 pip 安装了 gcloud。pip 安装创建了一个不包含 appengine 子模块(位于 SDK 文件夹中)的 python 包 google。我卸载了 gcloud 和相关软件包。然后只需 pip 安装 google-cloud-bigquery,这是我需要从 gcloud 获得的唯一软件包。现在一切正常。

于 2016-11-07T17:56:42.287 回答
1

我在使用 AWS Lambda 调用 Google Analytics API 时遇到了类似的错误。

(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 中遇到此问题的人有所帮助。

于 2019-03-18T02:52:03.267 回答
1

第一个可能的原因:

您没有在 google cloud sdk 中安装 python 库,因此您可以在 cmd 中运行(以管理员身份):

gcloud components install app-engine-python.

第二个可能的原因:

你的 IDE 没有成功进入谷歌库,它们存在于:

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 外部库:https ://stackoverflow.com/a/24206781/8244338

于 2019-06-12T07:56:27.323 回答
0

我在python中遇到了这个错误:

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

我认为这与该线程中发生的事情类似。

所以,我的解决方案是运行“dev_appserver.py 'your yaml file'”。我通过以下链接获得了此解决方案:

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

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

希望这可以帮助!

于 2019-11-26T21:24:40.217 回答
-1

检查您是否在同一个包中命名了某个文件 google.py :),因为这会影响 google.appengine.ext 的导入。我有同样的错误:

python import error “No module named appengine.ext”

并删除文件解决了问题。

于 2017-07-24T14:08:48.093 回答