我正在尝试通过Google App Engine使用Google Cloud Storage,目前正在查看“Using Cloud Storage”文档页面。它引用了“App Engine Flexible Environment中Python的Quickstart”项目。我已经从Github中提取了“python-docs-samples/appengine/flexible/storage”,并遵循了快速入门中列出的有关virtualenv的说明。
当我运行python main.py时,结果是和错误:
File "main.py", line 27, in <module>
CLOUD_STORAGE_BUCKET = os.environ['CLOUD_STORAGE_BUCKET']
File [PATH_TO_FILE]/python-docs-samples/appengine/flexible/storage/env/bin/../lib/python2.7/Use
rDict.py", line 40, in __getitem__
raise KeyError(key)
KeyError: 'CLOUD_STORAGE_BUCKET'我在app.yml文件中提供了我的存储桶的名称
#[START env]
env_variables:
CLOUD_STORAGE_BUCKET: jcolumbetestbucket
#[END env]我有一些困惑的地方:
“快速入门”和“使用云存储”项目似乎都想使用Python3,如app.yml文件中所列,但当我运行vurtualenv命令时,它安装了python2.7。我确实通过sudo pip3 install virtualenv安装了Python3,并且同时运行了python3 main.py和python main.py,但仍然收到错误。
另外,这篇特殊的文档说要使用python main.py命令来运行本地开发服务器,而我最近几天一直在看的其他文档则说要使用dev_appserver.py .命令。
任何见解或帮助都将是有帮助的,因为我已经尝试了几天。
发布于 2017-08-15 23:34:06
您可以在两种不同的环境中构建您的应用程序:标准和灵活。有关这方面的更多信息,请参阅Choosing an App Engine Environment。
dev_appserver.py是一个沙箱,用于测试用于标准环境的应用程序,它从app.yaml加载环境变量没有问题。
您使用的示例是针对灵活环境的。根据documentation的说法,有多种运行这些环境变量的方法,但似乎没有一种方法能够在本地加载环境变量。
您有两个选择:要么使用标准环境(如果它满足您的需求),要么出于测试目的对您的环境变量进行硬编码。
https://stackoverflow.com/questions/43574254
复制相似问题