.env-tiedostot ja python-dotenv
.env-tiedostojen lataaminen, .gitignore-säännöt ja dotenvin parhaat käytännöt
.env-tiedostot ja python-dotenv on ilmainen Tekoälyagentit-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Tekoälyagentit-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.
Shellissä tehtävien export-määritysten ongelma
Ympäristömuuttujien asettaminen komentotulkissa komennolla export toimii, mutta muuttujat on asetettava uudelleen jokaisessa uudessa pääteistunnossa. Monien muuttujien hallinta tällä tavalla on virhealtista, eikä määrityksiä voi jakaa helposti työtovereille.
.env-tiedostot ratkaisevat tämän tallentamalla kaikki projektin muuttujat yhteen tiedostoon, joka ladataan automaattisesti.
.env-tiedostomuoto
.env-tiedosto sisältää pareittain määritetyt KEY=VALUE-arvot, yhden parin kullakin rivillä. Merkillä # alkavat rivit ovat kommentteja. Arvot voi haluttaessa ympäröidä lainausmerkeillä. Kymmenet työkalut ja viitekehykset ymmärtävät tämän yksinkertaisen muodon.
# .env file (NEVER commit this file to git)
# Required API keys
OPENAI_API_KEY=sk-proj-your-real-key-here
SEARCH_API_KEY=tvly-your-tavily-key-here
# Optional settings with defaults
AGENT_MODEL=gpt-4o-mini
AGENT_MAX_STEPS=20
LOG_LEVEL=DEBUG
# Database (optional — disables memory storage if not set)
# DATABASE_URL=postgresql://user:pass@localhost/agentdb
# Environment identifier
ENV=development.env-tiedoston lataaminen python-dotenvilla
Asentakaa python-dotenv komennolla pip install python-dotenv. Kutsukaa load_dotenv()-funktiota käynnistyskohdan aivan alussa ennen kaikkia os.environ-lukuja. Se lataa .env-tiedoston ja täyttää ympäristön sen arvoilla.
# pip install python-dotenv
from dotenv import load_dotenv
import os
# Load .env file — call this BEFORE reading any env vars
load_dotenv()
# Now all variables from .env are available via os.environ
openai_key = os.environ['OPENAI_API_KEY']
model = os.getenv('AGENT_MODEL', 'gpt-4o-mini')
max_steps = int(os.getenv('AGENT_MAX_STEPS', '20'))
print(f'Model: {model}, Max steps: {max_steps}')load_dotenv()-funktion asetukset
load_dotenv()-funktiolla on useita hyödyllisiä asetuksia: dotenv_path= määrittää mukautetun polun, override=True korvaa olemassa olevat ympäristömuuttujat (oletusarvoisesti ne ohitetaan), ja verbose=True kirjaa lokiin ladatun tiedoston.
from dotenv import load_dotenv
import os
# Load from a specific path
load_dotenv(dotenv_path='/path/to/custom/.env')
# Override existing environment variables
# (by default, existing vars are NOT overridden)
load_dotenv(override=True)
# Load a specific environment file
env_file = os.getenv('ENV_FILE', '.env')
load_dotenv(dotenv_path=env_file, verbose=True)
# Find .env automatically (searches up the directory tree)
from dotenv import find_dotenv
load_dotenv(find_dotenv())dotenv_values() eksplisiittisiä konfiguraatiosanakirjoja varten
dotenv_values() palauttaa .env-tiedoston sisällön Python-sanakirjana muuttamatta ympäristöä. Tämä on hyödyllistä, kun haluatte tarkastella tai käyttää konfiguraatiota saastuttamatta prosessin ympäristöä.
from dotenv import dotenv_values
# Read .env into a dict without touching os.environ
config = dotenv_values('.env')
print(config.get('AGENT_MODEL')) # 'gpt-4o-mini'
print(config.get('LOG_LEVEL')) # 'DEBUG'
# Merge .env with actual environment (env vars take priority)
import os
combined = {**dotenv_values('.env'), **os.environ}
# This means actual environment variables override .env values
# Useful for CI where env vars are injected by the pipeline.env.example-tiedosto
Luokaa .env.example-tiedosto, jossa dokumentoitte kaikki pakolliset muuttujat paikanmerkkien avulla. Tämä tiedosto commitoidaan gitiin — se toimii työtovereille ja uusille kehittäjille tarkoitettuna dokumentaationa siitä, mitä on määritettävä.
# .env.example — commit this file to git
# Copy to .env and fill in real values:
# cp .env.example .env
# Required API keys (get from respective providers)
OPENAI_API_KEY=sk-proj-your-openai-key-here
SEARCH_API_KEY=tvly-your-tavily-key-here
# Optional settings
AGENT_MODEL=gpt-4o-mini
AGENT_MAX_STEPS=20
LOG_LEVEL=INFO
ENV=development
# Database (optional)
# DATABASE_URL=postgresql://user:password@localhost:5432/agentdb.env-tiedoston lisääminen .gitignoreen
.env-tiedostoa EI KOSKAAN saa commitoida gitiin. Lisätkää se .gitignore-tiedostoon heti projektin luomisen yhteydessä. Varmistakaa, että se ohitetaan, ennen ensimmäistä committia.
# .gitignore — add these lines
# Environment files with real secrets
.env
.env.local
.env.production
.env.staging
# But DO commit these:
# .env.example (placeholder values, safe to share)
# Verify .env is ignored before committing:
# git check-ignore -v .env
# .gitignore:1:.env .env <-- means it IS ignored (good)
# If .env was already tracked:
# git rm --cached .env
# git commit -m 'Remove .env from tracking'
# echo '.env' >> .gitignorePre-commit-hook .env-committeja estämään
Lisätkää pre-commit-hook, joka estää kaikki commitit, jotka sisältävät .env-tiedoston. Tämä tarjoaa automaattisen turvaverkon siltä varalta, että joku unohtaa tarkistaa .gitignore-tiedoston.
# .git/hooks/pre-commit (make executable: chmod +x .git/hooks/pre-commit)
#!/bin/sh
# Block commits that include .env files with real content
if git diff --cached --name-only | grep -qE '^\.env$';
then
echo 'ERROR: .env file is staged for commit!'
echo 'This file contains secrets and must NOT be committed.'
echo 'Run: git reset HEAD .env'
exit 1
fi
# Also check for common secret patterns in any staged file
if git diff --cached | grep -qE '(sk-proj-|tvly-|xai-)';
then
echo 'WARNING: Possible API key detected in staged changes!'
echo 'Review carefully before committing.'
fi
exit 0.env-tiedostojen lataaminen eri viitekehyksissä
Monet viitekehykset lataavat .env-tiedostot automaattisesti. FastAPI (pydantic-settingsin kautta), Django (django-environin kautta) ja Docker Compose tukevat .env-tiedostoja suoraan. Näiden käytäntöjen tunteminen auttaa välttämään päällekkäisen lataamisen.
# FastAPI with pydantic-settings (auto-loads .env):
# pip install pydantic-settings
from pydantic_settings import BaseSettings
class Settings(BaseSettings):
openai_api_key: str
agent_model: str = 'gpt-4o-mini'
log_level: str = 'INFO'
class Config:
env_file = '.env'
# settings = Settings() # auto-reads .env and validates types
# print(settings.agent_model) # 'gpt-4o-mini'
# FastAPI is also fine with plain load_dotenv() at the top of main.py
# No need to use pydantic-settings for simple agentsUseita .env-tiedostoja eri ympäristöille
Käyttäkää eri ympäristöille erillisiä .env-tiedostoja: .env.development, .env.staging, .env.production. Ladatkaa oikea tiedosto ENV-muuttujan perusteella.
import os
from dotenv import load_dotenv
# Determine which environment to load
env = os.getenv('ENV', 'development')
# Try environment-specific file first, fall back to base .env
env_file = f'.env.{env}'
if os.path.exists(env_file):
load_dotenv(env_file)
print(f'Loaded {env_file}')
else:
load_dotenv('.env')
print('Loaded .env')
# Usage:
# ENV=staging python agent.py -> loads .env.staging
# ENV=production python agent.py -> loads .env.production
# python agent.py -> loads .env (default development)Täydellinen määrityksen tarkistuslista
Uuden agenttiprojektin täydellinen .env-määrityksen tarkistuslista:
- Luokaa
.envoikeilla avaimilla (älkää koskaan commitoiko sitä) - Luokaa
.env.examplepaikanmerkeillä (commitoikaa tämä) - Lisätkää
.env.gitignore-tiedostoon - Lisätkää
load_dotenv()käynnistyskohdan alkuun - Tarkistakaa pakolliset muuttujat käynnistyksen yhteydessä
- Lisätkää
cp .env.example .envREADME-tiedoston määritysohjeisiin
Tietotesti: .env-tiedostot ja python-dotenv
Testatkaa, miten hyvin ymmärrätte .env-tiedostot ja python-dotenv-kirjaston.
Kertaus: .env-tiedostot ja python-dotenv
Teillä on nyt täydellinen .env-työnkulku agenttiprojekteja varten:
- Luokaa
.env-tiedosto oikeilla arvoilla — älkää koskaan commitoiko sitä - Luokaa
.env.examplepaikanmerkeillä — commitoikaa se aina - Lisätkää
.env*(.env.example-tiedostoa lukuun ottamatta).gitignore-tiedostoon - Kutsukaa
load_dotenv()-funktiota käynnistyskohdan aivan alussa - Käyttäkää
dotenv_values()-funktiota sanakirjakäyttöön koskematta os.environ-muuttujaan - Käyttäkää eri ympäristöille erillisiä tiedostoja (
.env.staging,.env.production)
Tämä työnkulku pitää salaisuudet poissa gitistä ja tekee paikallisesta kehityksestä helppoa.
Opi Tekoälyagentit tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 60
- Oppitunnit
- 239
Usein kysytyt kysymykset
Onko oppitunti ”.env-tiedostot ja python-dotenv” ilmainen?
Kyllä – oppitunnin ”.env-tiedostot ja python-dotenv” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Tekoälyagentit-kurssin, päivitä CoddyKit PROhon. Tekoälyagentit-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”.env-tiedostot ja python-dotenv”?
.env-tiedostojen lataaminen, .gitignore-säännöt ja dotenvin parhaat käytännöt Harjoittelet Tekoälyagentit-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Tekoälyagentit-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Tekoälyagentit-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”.env-tiedostot ja python-dotenv”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Tekoälyagentit-oppitunnilla?
Kyllä. Jokainen Tekoälyagentit-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Agenttien ympäristömuuttujat
- .env-tiedostot ja python-dotenv
- Salaisuuksien kierrätys ja turvallisuus
- Kehitys- ja tuotantoympäristön asetukset