App Engine 标准 Python 3 个环境变量未定义
App Engine Standard Python 3 environment variables undefined
我正在尝试访问我的 App Engine Standard Python 3 应用程序中的 GOOGLE_CLOUD_PROJECT 环境变量。根据 the documentation 这个变量应该在运行时设置。我使用 Flask 创建了一个简单的函数来演示这个问题:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def root():
try:
return GOOGLE_CLOUD_PROJECT
except NameError:
return 'GOOGLE_CLOUD_PROJECT undefined'
无论我尝试什么,我都会触发异常并返回 'GOOGLE_CLOUD_PROJECT undefined'。为什么我无法访问此环境变量?
仅查看您提供的代码,原因是这不是使用 Python 获取环境变量值的方法。实际上,如果您没有 except
,您会看到的错误消息是变量 GOOGLE_CLOUD_PROJECT
在您的 Python 代码中不存在。
你可能想使用这样的东西:
from flask import Flask
import os
app = Flask(__name__)
@app.route('/')
def root():
try:
return os.environ['GOOGLE_CLOUD_PROJECT']
except NameError:
return 'GOOGLE_CLOUD_PROJECT undefined'
if __name__ == '__main__':
app.run(host='127.0.0.1', port=8080, debug=True)
我正在尝试访问我的 App Engine Standard Python 3 应用程序中的 GOOGLE_CLOUD_PROJECT 环境变量。根据 the documentation 这个变量应该在运行时设置。我使用 Flask 创建了一个简单的函数来演示这个问题:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def root():
try:
return GOOGLE_CLOUD_PROJECT
except NameError:
return 'GOOGLE_CLOUD_PROJECT undefined'
无论我尝试什么,我都会触发异常并返回 'GOOGLE_CLOUD_PROJECT undefined'。为什么我无法访问此环境变量?
仅查看您提供的代码,原因是这不是使用 Python 获取环境变量值的方法。实际上,如果您没有 except
,您会看到的错误消息是变量 GOOGLE_CLOUD_PROJECT
在您的 Python 代码中不存在。
你可能想使用这样的东西:
from flask import Flask
import os
app = Flask(__name__)
@app.route('/')
def root():
try:
return os.environ['GOOGLE_CLOUD_PROJECT']
except NameError:
return 'GOOGLE_CLOUD_PROJECT undefined'
if __name__ == '__main__':
app.run(host='127.0.0.1', port=8080, debug=True)