繁体   English   中英

无法从google.cloud导入数据存储

[英]Can't import Datastore from google.cloud

我正在尝试使用Flask和Google Datastore创建一个基本的Web应用程序,以使自己进入Google Cloud。 虽然,当我部署我的应用程序时,出现错误500,详细信息是Python无法导入数据存储区: ImportError: No module named cloud

这是我的app.yaml

runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: .*
  script: main.app

libraries:
- name: jinja2
  version: "2.6"
- name: markupsafe
  version: "0.15"
- name: flask
  version: 0.12

我的main.py开始如下:

from __future__ import absolute_import

# Standard imports
import time
import logging
import json
import threading

# Flask framework
from flask import request
from flask import Flask

# Google Cloud features
from google.cloud import datastore
# the following replaces requests
from google.appengine.api import urlfetch

最后,我的requirements.txt是以下内容:

Flask
google-cloud
click

当我部署应用程序(使用gcloud app deploy )并到达我的网站时,出现错误500。

我不明白为什么我不能from google.cloud import datastore使用from google.cloud import datastore因为这正是Google在他们的教程中所做的...我一定会遗漏一些东西,但找不到。

任何帮助,将不胜感激。

安装客户端库

pip install --upgrade google-cloud-datastore

您需要(以匹配您的导入语句)的客户端库是google-cloud-datastore ,但您的requirements.txt文件中没有列出该客户端库。

旁注:您的app.yaml文件表示您的应用程序是标准的en GAE应用程序,对于该应用程序,您已经拥有已包含在SDK中的优化的Google数据存储NDB客户端库库(如果您没有特定的理由选择通用)。

您未指定env: flex因此您正在使用标准环境。 此处针对flex yaml进行说明,而针对标准yaml则未出现。

这很重要,因为标准环境不支持google-cloud。 google-cloud的存储库

这些库当前无法在Google App Engine标准上运行

Dan Cornilescu提到的有关NDB Client的链接是针对标准环境的官方解决方案,在官方文档中找不到几个示例:

https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/appengine/standard/ndbhttps://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/appengine/standard/多租户

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM