读取环境变量
envars的Python项目详细描述
helper函数用于读取开发机器和生产机器上的环境变量(仅适用于heroku.com)
这个库的目的是什么
此库将帮助您读取运行软件所需的环境变量
- 环境变量的一个例子是:
- 数据库登录=数据主机
- 数据库密码=asdlf@#$kkLK!@)(“”)
- 数据库url=postgres://dsdsfd:asdfasgsdfgjkdty.compute-1.amazonaws.com:532/jj4566ls
您可能会在开发和生产环境中以不同的方式存储变量:
- 在开发/本地计算机中:
- 这些文件存储在本地文本文件中(通常称为.env)
- 您的代码将打开文件,解析文本并读取变量
- 如果您的生产环境是heroku.com
- 您可以通过os.environ() 获取变量
如您所见,在开发机器和生产机器中,读取env变量的代码是不同的
envars一个函数,它将使用相同的代码从开发或生产机器中透明地读取它
如何使用此库
用法:
import envars.envars as envars e_dct = envars.getenvars()
环境变量现在在e_dct中。假设您在本地计算机上运行,并且有一个如下所示的.env文件:
a=1 b=2
您可以查看e/u dct中的值:
>> print e_dct defaultdict(<function <lambda> at 0x10cddbd70>, {‘a’: ‘1’, ‘b’: ‘1’})
>> print e_dct[‘a’] ‘1’
如果您在heroku.com的生产机器上,请确保在heroku环境中有以下变量。
ENV_NOW=production
envars将此作为您在生产环境中并将正确读取它的标志。现在,在生产环境中,您的代码将执行以下操作:
>> print e_dct defaultdict(<function <lambda> at 0x10cddbd70>, {“ENV_NOW”:”production”, ‘a’: ‘1’, ‘b’: ‘1’})
>> print e_dct[‘a’] ‘1’
>> print e_dct[‘ENV_NOW’] ‘production’
此库的限制
仅为heroku.com作为生产环境设计