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

Tho*_*ski 1 python google-cloud-datastore

我正在尝试使用 Flask 和 Google Datastore 创建一个基本的 Web 应用程序,以便让自己使用 Google Cloud。但是,当我部署我的应用程序时,我收到错误 500,详细信息是 Python 无法导入 Datastore : 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
Run Code Online (Sandbox Code Playgroud)

我的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
Run Code Online (Sandbox Code Playgroud)

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

Flask
google-cloud
click
Run Code Online (Sandbox Code Playgroud)

当我部署我的应用程序(使用gcloud app deploy)并访问我的站点时,我收到错误 500。

我不明白为什么我不能使用,from google.cloud import datastore因为这是谷歌在他们的教程中所做的......我一定错过了一些东西,但我找不到什么。

任何帮助,将不胜感激。

Dan*_*scu 5

安装客户端库

pip install --upgrade google-cloud-datastore
Run Code Online (Sandbox Code Playgroud)

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

旁注:您的app.yaml文件表明您的应用程序是标准的 env GAE 应用程序,为此您可以使用优化的Google Datastore NDB 客户端库库,该库已包含在您的 SDK 中(如果您没有选择通用应用程序的具体原因) )。