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

时间:2014-01-15 23:44:13

标签: python macos google-app-engine 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')

我百分百肯定这在之前的Mountain Lion上运作良好。它可能与Maverick OSX如何设置/使用env变量有关吗?任何建议如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

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

env_variables:
  FLASK_CONF: 'DEV'