GAE导入端点"没有名为端点的模块"

时间:2016-01-18 23:54:06

标签: python-2.7 google-app-engine google-cloud-endpoints gae-module

我使用pycharm来开发appengine。现在我试图使用端点,而且我已经把

libraries:
- name: pycrypto
  version: latest
- name: endpoints
  version: 1.0

然后在main.py

import endpoints

但它给了我错误

No module named endpoints

我可以在GAE库中看到端点文件夹。有人可以帮忙吗?

*编辑:这只是IDE(pycharm)无法找到endpoints的问题。该应用程序在开发服务器或云服务器上运行正常。有一张图片只是为了让它更清晰:

Pycharm cant find endpoints reference

由于

3 个答案:

答案 0 :(得分:2)

您需要添加{GAE_SDK}/lib/endpoints-1.0,而不仅仅是SDK本身。您可以导入google的原因是因为它直接位于{GAE_SDK}下。由于支持多个版本,您在app.yaml中指定的库的布局不同。我相信你还需要添加{GAE_SDK}/lib/protorpc-1.0/,它只是没有显示,因为已经有导入错误。

答案 1 :(得分:0)

我使用新版本的PyCharm社区,我也得配置。您需要在文件 - 设置 - 项目:

中的每个文件夹上设置源选项,如端点

See my image

答案 2 :(得分:0)

我在某个地方运行了以下代码,并在客户端脚本中修复了它。我不能说有多少可能是不必要的。您需要编辑SDK安装的google_appengine路径:

sdk_path = os.path.expanduser('~/work/google-cloud-sdk/platform/google_appengine')

try:
    import google
    google.__path__.append("{0}/google".format(sdk_path))
except ImportError:
    pass

try:
    import protorpc
    protorpc.__path__.append("{0}/lib/protorpc-1.0/protorpc".format(sdk_path))
except ImportError:
    pass

sys.path.append("{0}/lib/endpoints-1.0".format(sdk_path))