在OSX Maverick的終端設置我的環境變量是這樣的:Python的os.getenv()似乎並沒有在OSX小牛工作
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變量有關嗎?任何建議如何解決這個問題?
[這裏](http://pastebin.com/tXRAwkEe)是一個快速測試與小牛隊證明它的設置環境變量和Python(小牛隊內置的那種,但同樣的東西可以在機器上使用CPython和PyPy的另外7種版本...)能夠看到它們。 – abarnert
所以大概是有其他錯誤。爲了調試它,我們需要一個完整的例子(參見[MCVE](http://stackoverflow.com/help/mcve)),它重現了這個問題,而不僅僅是一個代碼片段,它自己可以工作,但不會在你的環境中工作。 – abarnert