Cum setați și obțineți variabile de mediu în Python

Pentru a seta și obține variabile de mediu în Python puteți folosi modulul os:

import os# Set environment variablesos.environ = 'username'os.environ = 'secret'# Get environment variablesUSER = os.getenv('API_USER')PASSWORD = os.environ.get('API_PASSWORD')# Getting non-existent keysFOO = os.getenv('FOO') # NoneBAR = os.environ.get('BAR') # NoneBAZ = os.environ # KeyError: key does not exist.

Rețineți că utilizarea getenv() sau a metodei get() pe o cheie de dicționar va returna None dacă cheia nu există. Cu toate acestea, în exemplul cu BAZ, dacă faceți referire la o cheie dintr-un dicționar care nu există, se va ridica un KeyError.

Variabilele de mediu sunt utile atunci când doriți să evitați codificarea hard-coding a credențialelor de acces sau a altor variabile în cod. De exemplu, este posibil să aveți nevoie să treceți acreditările API pentru un furnizor de servicii de e-mail pentru a trimite notificări prin e-mail, dar nu ați dori ca aceste acreditări să fie stocate în depozitul de cod. Sau poate aveți nevoie ca codul dvs. să funcționeze ușor diferit între mediile de dezvoltare, de pregătire și de producție. În acest caz, ați putea trece o variabilă de mediu pentru a spune aplicației dumneavoastră în ce mediu rulează. Acestea sunt cazuri tipice de utilizare a variabilelor de mediu.

Stocarea variabilelor locale de mediu

Ar trebui să vă scrieți codul Python astfel încât să fie capabil să acceseze variabilele de mediu din orice mediu în care rulează. Acesta poate fi fie mediul virtual local pe care îl utilizați pentru dezvoltare, fie un serviciu pe care îl găzduiți. Un pachet util care simplifică acest proces este Python Decouple, iată cum îl veți folosi.

În primul rând instalați Python Decouple în mediul vostru Python local.

$ pip install python-decouple

După instalare, creați un fișier .env în rădăcina proiectului dvs. pe care îl puteți deschide apoi pentru a adăuga variabilele de mediu.

$ touch .env # create a new .env file$ nano .env # open the .env file in the nano text editor

Puteți adăuga variabilele de mediu astfel:

USER=alexKEY=hfy92kadHgkk29fahjsu3j922v9sjwaucahf

Apoi salvați (WriteOut) fișierul și ieșiți din nano. Variabilele dvs. de mediu sunt acum stocate în fișierul .env. Dacă folosiți git, nu uitați să adăugați .env la fișierul .gitignore, astfel încât să nu trimiteți acest fișier de secrete în depozitul de cod.

Acum că aveți variabilele de mediu stocate într-un fișier .env, le puteți accesa în codul dumneavoastră Python astfel:

from decouple import configAPI_USERNAME = config('USER')API_KEY = config('KEY')

Beneficiul de a folosi ceva de genul abordării de mai sus este că atunci când vă implementați aplicația într-un serviciu cloud, puteți seta variabilele de mediu folosind orice metodă sau interfață pe care o are furnizorul, iar codul dumneavoastră Python ar trebui să fie în continuare capabil să le acceseze. Rețineți că este o convenție obișnuită să folosiți litere majuscule pentru numele constantelor globale din codul dumneavoastră.

Majoritatea furnizorilor de servicii cloud vor avea o CLI sau o interfață web care vă permite să configurați variabilele de mediu pentru mediile dumneavoastră de pregătire sau de producție. Pentru îndrumare în aceste cazuri, va trebui să consultați documentația lor cu privire la modul de setare a variabilelor de mediu atunci când folosiți serviciul lor.

Alăturați-vă rețelei de dezvoltatori Able

Dacă v-a plăcut această postare, s-ar putea să fiți interesat de rețeaua de dezvoltatori Able, un nou loc pentru dezvoltatori pentru a scrie pe blog și a găsi locuri de muncă.

Lasă un răspuns

Adresa ta de email nu va fi publicată.