[英]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/ndb和https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/appengine/standard/多租户
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.