2013-11-24 140 views
0

我構建了一個Flask應用程序,並在heroku上設置了一組配置變量。我用heroku-config在本地拉取這些文件,以便它們駐留在項目目錄中的.env文件中。在Python中使用heroku:config vars

我在Python中使用這些配置變量的標準方式,與os.environ['KEY']。如果我與heroku的領班一起運行我的Flask應用程序,一切都會像魅力一樣。但是如果我嘗試通過Flask的服務器運行,就會中斷,因爲配置變量不在我的os.environ字典中。

由於這個接縫很明顯,我該如何解決這個問題?我不想手動將所有heroku拉的配置變量複製到我的~/.bash_profile。我更喜歡在.env中重複使用heroku拉的配置變量,但我不知道這樣做的正確方式。

回答

2

下面bash命令進口.env變量到環境:

$ source .env 

之後,你應該能夠不工頭運行你的應用程序瓶。

+1

另請考慮[autoenv](https://github.com/kennethreitz/autoenv),它會在您切換到目錄時自動執行此操作。 –

+0

變量確實被導入,但我仍然無法在Python中使用它們(即打開一個Python shell,導入'os'模塊並查看'os.environ'字典)。我應該做什麼更多? – linkyndy