Google App Engine:ImportError:没有名为 appengine.tools 的模块

Posted

技术标签:

【中文标题】Google App Engine:ImportError:没有名为 appengine.tools 的模块【英文标题】:Google App Engine: ImportError: No Module named appengine.tools 【发布时间】:2013-12-06 11:57:09 【问题描述】:

在运行 google 应用引擎并尝试导入 google.appengine.tools 时,我收到一个未捕获的异常,抱怨 appengine.tools 未定义。

我已确认 Google SDK 在 PYTHONPATH 上:

echo $PYTHONPATH
:/usr/local/google_appengine:/usr/local/google_appengine/lib/django-1.4

【问题讨论】:

【参考方案1】:

经过排查,发现dist-packages文件夹下又安装了一个google包,在PYTHONPATH下,google_appengine SDK之前...

搜索google包,发现里面有protobuf

例如,要查看google包中的所有内容,您可以转到目录(位置可能会有所不同,具体取决于系统)

cd /usr/lib/python2.7/dist-packages/google
ls -al

您可以:

A) 从 PYTHONPATH 中删除 dist-packages,因为您使用的是 GAE,所以很可能不需要它,因为应用程序本身应该包含 3rd 方应用程序。

B) 删除 protobuf 和 google 包:

sudo pip uninstall protobuf
sudo rm -R /usr/lib/python2.7/dist-packages/google

【讨论】:

我在我的/usr/local/lib/python2.7/dist-packages/google 中发现了相同的内容,因此可能也值得在那里检查一下。

以上是关于Google App Engine:ImportError:没有名为 appengine.tools 的模块的主要内容,如果未能解决你的问题,请参考以下文章

连接 Google App Engine 和 Google Compute Engine

Google App Engine Flexible 和 Google Container Engine 之间的区别?

如何在 Google Cloud App Engine 上使用 PubSub 创建订阅者,该订阅者通过 Publisher 从 Google Cloud App Engine Flex 收听消息?

将 Meteor 部署到 Google App Engine 2017

Google BigQuery 的 Google App Engine 授权

Google App Engine 通过内部网络与 Compute Engine 通信