Python的os.getenv()似乎不适用于OSX Mavericks



在OSX Maverick的终端中,我像这样设置了我的env变量:

export FLASK_CONF=DEV

然后有了export我可以确认变量已设置。

declare -x FLASK_CONF="DEV"
...

现在,当我在 GAE 下运行我的应用程序时:dev_appserver.py src/

我收到一条消息,指出已加载生产环境而不是开发环境:

INFO     2014-01-15 23:39:41,702 __init__.py:38] Staging/Production Env found

这是代码:

if os.getenv('FLASK_CONF') == 'DEV':
    logging.info("DEV ENv found")
    app.config.from_object('application.settings.Development')
elif os.getenv('FLASK_CONF') == 'TEST':
    logging.info("TEST Env found")
    app.config.from_object('application.settings.Testing')
else:
    logging.info("Staging/Production Env found")
    app.config.from_object('application.settings.Production')

我 100% 确定这在以前的美洲狮上工作正常。它是否与Maverick OSX如何设置/使用env变量有关? 有什么建议可以解决这个问题吗?

尝试使用 env_variables 在 app.yaml 中定义环境变量:

env_variables:
  FLASK_CONF: 'DEV'

最新更新