How to access environment variable values?

后端 未结 12 1339
孤独总比滥情好
孤独总比滥情好 2020-11-21 23:52

I set an environment variable that I want to access in my Python application. How do I get its value?

12条回答
  •  一向
    一向 (楼主)
    2020-11-22 00:54

    .env File

    Here is my .env file (I changed multiple characters in each key to prevent people hacking my accounts).

    SECRET_KEY=6g18169690e33af0cb10f3eb6b3cb36cb448b7d31f751cde
    AWS_SECRET_ACCESS_KEY=18df6c6e95ab3832c5d09486779dcb1466ebbb12b141a0c4
    DATABASE_URL='postgres://drjpczkqhnuvkc:f0ba6afd133c53913a4df103187b2a34c14234e7ae4b644952534c4dba74352d@ec2-54-146-4-66.compute-1.amazonaws.com:5432/ddnl5mnb76cne4'
    AWS_ACCESS_KEY_ID=AKIBUGFPPLQFTFVDVIFE
    DISABLE_COLLECTSTATIC=1
    EMAIL_HOST_PASSWORD=COMING SOON
    MAILCHIMP_API_KEY=a9782cc1adcd8160907ab76064411efe-us17
    MAILCHIMP_EMAIL_LIST_ID=5a6a2c63b7
    STRIPE_PUB_KEY=pk_test_51HEF86ARPAz7urwyGw9xwLkgbgfCYT48LttlwjEkb88I7Ljb5soBtuKXBaPiKfuu0Cx2BzIowR3jJFkC8ybFBAEf00DFY46tB8
    STRIPE_SECRET_KEY=sk_test_19HEF55BCEAz7urwytx7tO3QCxV4R8DEFXbqj6esg7OKuybiSTI8iJD8mmJUQpg4RKENxuS04DKOCzYHpDkAjUttO00LOmsT5Eg
    

    settings

    I was told my data was corrupted. I was struggling to work out what was going on. I had a suspicion the values from .env were not being passed into my settings file.

    print(os.environ.get('AWS_SECRET_ACCESS_KEY'))
    print(os.environ.get('AWS_ACCESS_KEY_ID'))
    print(os.environ.get('AWS_SECRET_ACCESS_KEY'))
    print(os.environ.get('DATABASE_URL'))
    print(os.environ.get('SECRET_KEY'))
    print(os.environ.get('DISABLE_COLLECTSTATIC'))
    print(os.environ.get('EMAIL_HOST_PASSWORD'))
    print(os.environ.get('MAILCHIMP_API_KEY'))
    print(os.environ.get('MAILCHIMP_EMAIL_LIST_ID'))
    print(os.environ.get('STRIPE_PUB_KEY'))
    print(os.environ.get('STRIPE_SECRET_KEY'))
    

    The only value being printed correctly was the SECRET_KEY. I reviewed the .env file and for the life of me could not see any reason why the SECRET_KEY was working and nothing else.

    I got everything working eventually by putting this above the print statements.

    from dotenv import load_dotenv   #for python-dotenv method
    load_dotenv()                    #for python-dotenv method
    

    And doing

    pip install -U python-dotenv
    

    I am still not sure why SECRET_KEY was working when all the others were broken.

提交回复
热议问题