.env फ़ाइलें और python-dotenv
.env फ़ाइलें लोड करना, .gitignore नियम और dotenv की सर्वोत्तम पद्धतियाँ।
.env फ़ाइलें और python-dotenv, CoddyKit पर AI एजेंट का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह AI एजेंट सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। AI एजेंट पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
शेल एक्सपोर्ट की समस्या
शेल में export के साथ पर्यावरण चर सेट करना काम करता है, लेकिन हर नए टर्मिनल सत्र में उन्हें फिर से सेट करना पड़ता है। इस तरह बहुत सारे चरों का प्रबंधन करना त्रुटिपूर्ण होता है और इसे टीम के साथ साझा नहीं किया जा सकता।
.env फ़ाइलें सभी परियोजना चरों को एक ऐसी फ़ाइल में संग्रहीत करके इस समस्या का समाधान करती हैं, जिसे स्वतः लोड किया जाता है।
.env फ़ाइल का प्रारूप
एक .env फ़ाइल में प्रति पंक्ति एक KEY=VALUE युग्म होता है। # से शुरू होने वाली पंक्तियाँ टिप्पणियाँ होती हैं। मानों को वैकल्पिक रूप से उद्धरण-चिह्नों में रखा जा सकता है। इस सरल प्रारूप को दर्जनों उपकरण और फ़्रेमवर्क समझते हैं।
# .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=developmentpython-dotenv के साथ .env लोड करना
pip install python-dotenv के साथ python-dotenv इंस्टॉल करें। किसी भी os.environ पठन से पहले अपने प्रवेश बिंदु के बिल्कुल ऊपर load_dotenv() कॉल करें। यह .env फ़ाइल लोड करके पर्यावरण को उसके मानों से भर देता है।
# 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() के विकल्प
load_dotenv() में कई उपयोगी विकल्प हैं: कस्टम पथ निर्दिष्ट करने के लिए dotenv_path=, मौजूदा पर्यावरण चरों को ओवरराइट करने के लिए override=True (डिफ़ॉल्ट रूप से इन्हें छोड़ा जाता है), और लोड की गई फ़ाइल का लॉग बनाने के लिए verbose=True।
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()
dotenv_values() पर्यावरण में बदलाव किए बिना .env फ़ाइल की सामग्री को Python डिक्शनरी के रूप में लौटाता है। यह तब उपयोगी है जब आप प्रक्रिया के पर्यावरण को प्रभावित किए बिना कॉन्फ़िगरेशन का निरीक्षण या उपयोग करना चाहते हैं।
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 फ़ाइल
ऐसी .env.example फ़ाइल बनाएँ जिसमें सभी अनिवार्य चरों का प्लेसहोल्डर मानों के साथ दस्तावेज़ हो। यह फ़ाइल IS गिट में कमिट की जाती है — यह टीम के सदस्यों और नए डेवलपरों को कॉन्फ़िगर की जाने वाली चीज़ों का दस्तावेज़ देती है।
# .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 को .gitignore में जोड़ना
.env फ़ाइल को गिट में NEVER कमिट किया जाना चाहिए। परियोजना बनाते ही इसे .gitignore में जोड़ दें। अपने पहले कमिट से पहले जाँच लें कि इसे अनदेखा किया जा रहा है।
# .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.env कमिट रोकने के लिए प्री-कमिट हुक
ऐसा प्री-कमिट हुक जोड़ें जो .env फ़ाइल वाली किसी भी कमिट को रोक दे। यदि कोई व्यक्ति .gitignore की जाँच करना भूल जाए, तो यह स्वचालित सुरक्षा प्रदान करता है।
# .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 लोड करना
कई फ़्रेमवर्क .env फ़ाइलों को स्वतः लोड करते हैं। FastAPI (pydantic-settings के माध्यम से), Django (django-environ के माध्यम से) और Docker Compose .env को मूल रूप से समर्थन देते हैं। इन तरीकों को जानने से दोबारा लोड करने से बचा जा सकता है।
# 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अलग-अलग पर्यावरण के लिए कई .env फ़ाइलें
अलग-अलग पर्यावरण के लिए अलग .env फ़ाइलों का उपयोग करें: .env.development, .env.staging, .env.production। ENV चर के आधार पर सही फ़ाइल लोड करें।
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)पूरी सेटअप जाँचसूची
नई एजेंट परियोजना के लिए .env सेटअप की पूरी जाँचसूची:
- वास्तविक कुंजियों के साथ
.envबनाएँ (कभी कमिट न करें) - प्लेसहोल्डर के साथ
.env.exampleबनाएँ (इसे कमिट करें) .envको.gitignoreमें जोड़ें- अपने प्रवेश बिंदु के शीर्ष पर
load_dotenv()जोड़ें - प्रारंभ पर अनिवार्य चरों का सत्यापन करें
- अपने README सेटअप निर्देशों में
cp .env.example .envजोड़ें
ज्ञान जाँच: .env फ़ाइलें और python-dotenv
.env फ़ाइलों और python-dotenv लाइब्रेरी के बारे में अपनी समझ जाँचें।
पुनरावलोकन: .env फ़ाइलें और python-dotenv
अब आपके पास एजेंट परियोजनाओं के लिए .env का पूरा कार्यप्रवाह है:
- वास्तविक मानों वाली
.envफ़ाइल बनाएँ — इसे कभी कमिट न करें - प्लेसहोल्डर वाली
.env.exampleबनाएँ — इसे हमेशा कमिट करें .env*को (.env.exampleको छोड़कर).gitignoreमें जोड़ें- अपने प्रवेश बिंदु के बिल्कुल ऊपर
load_dotenv()कॉल करें - os.environ को छुए बिना डिक्शनरी एक्सेस के लिए
dotenv_values()का उपयोग करें - हर पर्यावरण के लिए अलग फ़ाइलों का उपयोग करें (
.env.staging,.env.production)
यह कार्यप्रवाह गोपनीय जानकारी को गिट से बाहर रखता है और स्थानीय विकास को आसान बनाता है।
एआई शिक्षक के साथ AI एजेंट सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 60
- पाठ
- 239
अक्सर पूछे जाने वाले प्रश्न
क्या “.env फ़ाइलें और python-dotenv” पाठ निःशुल्क है?
हाँ—“.env फ़ाइलें और python-dotenv” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और AI एजेंट पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। AI एजेंट पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“.env फ़ाइलें और python-dotenv” में मैं क्या सीखूँगा?
.env फ़ाइलें लोड करना, .gitignore नियम और dotenv की सर्वोत्तम पद्धतियाँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ AI एजेंट का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या AI एजेंट शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर AI एजेंट शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“.env फ़ाइलें और python-dotenv” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस AI एजेंट पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर AI एजेंट पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- एजेंट के लिए पर्यावरण चर
- .env फ़ाइलें और python-dotenv
- सीक्रेट का रोटेशन और सुरक्षा
- डेव और प्रोड के लिए कॉन्फ़िगरेशन प्रोफ़ाइल