Ympäristömuuttujien asettaminen ja hakeminen Pythonissa

Ympäristömuuttujien asettamiseen ja hakemiseen Pythonissa voit käyttää os-moduulia:

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.

Huomaa, että getenv()– tai get()-metodin käyttäminen sanakirjan avaimeen palauttaa None, jos avainta ei ole olemassa. Esimerkissä BAZ, jos kuitenkin viitataan avaimeen sanakirjassa, jota ei ole olemassa, se aiheuttaa KeyError:n.

Ympäristömuuttujat ovat hyödyllisiä, kun halutaan välttää pääsytunnusten tai muiden muuttujien kovaa koodaamista koodiin. Saatat esimerkiksi joutua antamaan sähköpostipalvelun tarjoajan API-tunnukset sähköposti-ilmoitusten lähettämistä varten, mutta et halua, että nämä tunnukset tallennetaan koodivarastoosi. Tai ehkä koodin on toimittava hieman eri tavalla kehitys-, varastointi- ja tuotantoympäristöissä. Tässä tapauksessa voit antaa ympäristömuuttujan, joka kertoo sovelluksellesi, missä ympäristössä se toimii. Nämä ovat tyypillisiä käyttötapauksia ympäristömuuttujille.

Lokaalien ympäristömuuttujien tallentaminen

Sinun tulisi kirjoittaa Python-koodisi niin, että se pystyy käyttämään ympäristömuuttujia riippumatta siitä, missä ympäristössä se on käynnissä. Tämä voi olla joko paikallinen virtuaaliympäristösi, jota käytät kehitykseen, tai palvelu, jossa isännöit sitä. Hyödyllinen paketti, joka helpottaa tätä prosessia, on Python Decouple, ja käytät sitä näin.

Asenna ensin Python Decouple paikalliseen Python-ympäristöösi.

$ pip install python-decouple

Asennuksen jälkeen luo projektisi juureen .env-tiedosto, jonka voit sitten avata ja lisätä ympäristömuuttujasi.

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

Voit sitten lisätä ympäristömuuttujasi näin:

USER=alexKEY=hfy92kadHgkk29fahjsu3j922v9sjwaucahf

Tallenna (WriteOut) tiedosto ja lopeta nano. Ympäristömuuttujasi on nyt tallennettu tiedostoon .env. Jos käytät git-tiedostoa, muista lisätä .env tiedostoon .gitignore, jotta et sitoisi tätä salaisuuksien tiedostoa koodivarastoosi.

Nyt kun ympäristömuuttujasi on tallennettu .env-tiedostoon, voit käyttää niitä Python-koodissasi seuraavalla tavalla:

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

Hyöty edellä kuvatun kaltaisesta lähestymistavasta on se, että kun otat sovelluksesi käyttöön pilvipalvelussa, voit asettaa ympäristömuuttujasi käyttämällä mitä tahansa menetelmää tai rajapintaa, joka palveluntarjoajalla on käytössä, ja Python-koodisi pitäisi silti pystyä käyttämään niitä. Huomaa, että on yleinen käytäntö käyttää isoja kirjaimia globaalien vakioiden nimissä koodissasi.

Useimmilla pilvipalvelun tarjoajilla on CLI- tai web-käyttöliittymä, jonka avulla voit määrittää ympäristömuuttujat staging- tai tuotantoympäristöihisi. Opastusta näissä tapauksissa saat heidän dokumentaatiostaan siitä, miten ympäristömuuttujia asetetaan heidän palveluaan käytettäessä.

Join the Able Developer Network

Jos pidit tästä viestistä, saatat olla kiinnostunut Able-kehittäjäverkostosta, uudesta paikasta, jossa kehittäjät voivat kirjoittaa blogeja ja löytää työpaikkoja.

Vastaa

Sähköpostiosoitettasi ei julkaista.