Tekoälyagentit · Oppitunti

.env-tiedostot ja python-dotenv

.env-tiedostojen lataaminen, .gitignore-säännöt ja dotenvin parhaat käytännöt

Oppitunti 2/413 vaihetta

.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' >> .gitignore

Pre-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 agents

Useita .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:

  1. Luokaa .env oikeilla avaimilla (älkää koskaan commitoiko sitä)
  2. Luokaa .env.example paikanmerkeillä (commitoikaa tämä)
  3. Lisätkää .env .gitignore-tiedostoon
  4. Lisätkää load_dotenv() käynnistyskohdan alkuun
  5. Tarkistakaa pakolliset muuttujat käynnistyksen yhteydessä
  6. Lisätkää cp .env.example .env README-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.example paikanmerkeillä — 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.

Aloita maksutta

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

  1. Agenttien ympäristömuuttujat
  2. .env-tiedostot ja python-dotenv
  3. Salaisuuksien kierrätys ja turvallisuus
  4. Kehitys- ja tuotantoympäristön asetukset
← Takaisin: Tekoälyagentit