没有名为appengine.api的模块

时间:2017-05-29 13:05:20

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

我正在使用Google Cloud部署一个相对较小但计算密集的Python应用程序。我正在使用Flask。由于我的应用程序的当前版本非常慢(我没有存储计算值以供将来重用),我希望使用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,但他们只是向我指出了文档。

1 个答案:

答案 0 :(得分:1)

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

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

之后再尝试再次部署。如果您仍然没有成功部署,请试试这个:

谷歌推出了一款名为Appengine Launcher的软件。您可以使用它来为项目的sdk创建符号链接。为了获得它,您必须下载原始App-Engine SDK

下载并安装原始sdk后,它非常简单。它可能会提示你在init时创建新的符号链接,但这通常是不够的。因此,请转到顶部菜单,然后单击启动器和“Make Symlinks”以进行更多操作。

在此之后你应该全力以赴!