【问题标题】:No module named appengine.api没有名为 appengine.api 的模块
【发布时间】:2017-05-29 13:05:19
【问题描述】:

我正在使用 Google Cloud 部署一个相对较小但计算密集型的 Python 应用程序。我正在使用烧瓶。由于我的应用程序的当前版本真的很慢(我没有存储计算值以供将来重用),我希望使用 Appengine Memcache。为此,我的 python 文件中有以下代码行:from google.appengine.api import memcache

当我尝试部署此 (gcloud app deploy) 时,部署打包工作大约 8-10 分钟,然后停止并出现此错误:No module named appengine.api

我已经安装了 Google Cloud SDK(/usr/local/Google-Cloud-SDK - 我在 OSX 上)。我还安装了 Python 库:https://googlecloudplatform.github.io/google-cloud-python/

我在这里查看了一些相关问题并尝试了建议的解决方案:删除protobuf,修改$PYTHONPATH 移动目录,并删除/重新安装。它们似乎都不起作用。也联系了 Google,但他们只是向我指出了文档。

【问题讨论】:

标签: python google-app-engine memcached google-cloud-sdk google-python-api


【解决方案1】:

当我遇到同样的问题时,有几件事可能会导致这种情况。 (也是 OSX)

首先,两者中最简单的。出于某种原因,一个名为 Protobuf 的包喜欢弄乱你的 SDK PATH。要摆脱它,只需在您的终端输入pip uninstall protobuf。(对于未来的用户)

在此之后,只需尝试再次部署。如果您仍未成功部署,请尝试以下操作:

Google 有一个大部分已被弃用的软件,称为 Appengine Launcher。您可以使用它为您的项目创建指向 sdk 的符号链接。为了得到它,你必须下载原版App-Engine SDK

一旦你下载并安装了原始sdk,它真的很简单。它可能会提示您在初始化时创建新的符号链接,但这通常是不够的。因此,请转到顶部菜单并单击启动器和“制作符号链接”以制作更多内容。

在这之后你应该准备好了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-28
    • 2017-12-30
    • 2018-01-06
    • 2018-11-11
    相关资源
    最近更新 更多