जब आप विभिन्न वातावरणों में विकसित कर रहे होते हैं, तो आप प्रत्येक वातावरण के लिए अलग कॉन्फ़िगरेशन मान निर्दिष्ट करना चाह सकते हैं। जिस कंप्यूटर पर आपने एक एप्लिकेशन विकसित किया है, वह उस कंप्यूटर के समान नहीं होगा जिस पर आप एप्लिकेशन तैनात करते हैं।
यहीं एनवायरनमेंट वेरिएबल्स काम आते हैं!
इस गाइड में, हम बात करेंगे कि एनवायरनमेंट वेरिएबल्स क्या हैं और उनका उपयोग कैसे किया जा सकता है। हम आपको शुरू करने में मदद करने के लिए पायथन एनवायरनमेंट वेरिएबल्स का एक उदाहरण देखेंगे।
एनवायरनमेंट वेरिएबल क्या है?
एक एनवायरनमेंट वेरिएबल एक वेरिएबल है जिसका मान प्रोग्राम के बाहर सेट किया जाता है।
एनवायरनमेंट वेरिएबल्स आपको उस वातावरण के आधार पर एक वेरिएबल के लिए अलग-अलग मान सेट करने की अनुमति देते हैं जिसमें आप एप्लिकेशन बना रहे हैं।
एनवायरनमेंट वेरिएबल्स का उपयोग क्यों किया जाता है?
कई एप्लिकेशन, विशेष रूप से सहयोगी वाले, में कई अलग-अलग वातावरण होते हैं। एक वातावरण का उपयोग परीक्षण के लिए किया जाएगा, दूसरा उत्पादन के लिए, और फिर भी एक और विकास के लिए। इन वातावरणों में अक्सर अलग-अलग कॉन्फ़िगरेशन मान होते हैं जिन्हें सेट करने की आवश्यकता होती है।
उत्पादन में आपके द्वारा उपयोग की जाने वाली एप्लिकेशन प्रोग्रामिंग इंटरफेस (API) कुंजियाँ शायद आपके स्थानीय मशीन पर उपयोग की जाने वाली कुंजियों के समान नहीं होंगी। आप एप्लिकेशन बनाते समय अपनी स्थानीय मशीन पर डमी डेटा का उपयोग कर सकते हैं, लेकिन यह उत्पादन वातावरण में उपयुक्त नहीं है।
एक एनवायरनमेंटल वेरिएबल का मान आपके प्रोग्राम को बदले बिना बदला जा सकता है। इसका अर्थ है कि आप एक नए वातावरण के लिए कॉन्फ़िगरेशन मानों को प्रतिस्थापित किए बिना अपने कोड में परिवर्तनों को आसानी से तैनात कर सकते हैं।
एनवायरनमेंट वेरिएबल्स का उपयोग सुरक्षा उद्देश्यों के लिए भी किया जाता है। एक मुख्य प्रोग्राम के अंदर API कुंजियों और कॉन्फ़िगरेशन मानों को लिखना जोखिम भरा हो सकता है क्योंकि परियोजना पर हर कोई उन्हें देख सकता है। यदि आप एक मान को एनवायरनमेंट वेरिएबल के अंदर बताते हैं, तो केवल आपका प्रोग्राम और वह डेवलपर जिसने वेरिएबल सेट किया है, उसे एक्सेस कर पाएगा।
एनवायरनमेंट वेरिएबल कैसे सेट करें
आइए एक एनवायरनमेंट वेरिएबल बनाकर शुरू करते हैं। एक एनवायरनमेंट वेरिएबल केवल तब तक रहेगा जब तक आपका पायथन सत्र समाप्त नहीं हो जाता। इसका अर्थ है कि एक बार जब आप अपना पायथन इंटरप्रेटर बंद कर देते हैं, तो वेरिएबल आपके पायथन स्क्रिप्ट्स में रीसेट हो जाएगा।
हम एक ऐसा ऐप बना रहे हैं जो Airtable API का उपयोग करता है। हम अपना कोड GitHub पर साझा करने जा रहे हैं इसलिए हम नहीं चाहते कि हमारी API कुंजी जनता को दिखाई दे। अपनी API कुंजी को सार्वजनिक रूप से साझा किए बिना अपने कोड में जोड़ने के लिए, हम एक एनवायरनमेंट वेरिएबल का उपयोग करने जा रहे हैं।
पहला कदम os लाइब्रेरी आयात करना है:
import os
इस लाइब्रेरी में पायथन एनवायरनमेंट वेरिएबल्स के साथ काम करने का कोड होता है। अगला, हम एक एनवायरनमेंट वेरिएबल सेट करने जा रहे हैं:
os.environ["AIRTABLE_KEY"] = "YOUR_API_KEY"
यह कोड AIRTABLE_KEY नामक एक वेरिएबल सेट करेगा। इसका मान YOUR_API_KEY है। एक एनवायरनमेंट वेरिएबल असाइन करना उसी तरह काम करता है जैसे आप डिक्शनरी में मान बदलते हैं।
आपको उस वेरिएबल का नाम निर्दिष्ट करना होगा जिसे आप सेट या बदलना चाहते हैं, उसके बाद एक बराबर चिह्न, फिर वह मान जिसे आप वेरिएबल को असाइन करना चाहते हैं।
उसी सिंटैक्स का उपयोग एनवायरनमेंट वेरिएबल को बदलने के लिए किया जा सकता है:
os.environ["AIRTABLE_KEY"] = "YOUR_API_KEY_2"
हमारी API कुंजी का मान YOUR_API_KEY_2 में बदल गया है।
एनवायरनमेंट वेरिएबल कैसे पुनः प्राप्त करें
हमने अभी एक एनवायरनमेंट वेरिएबल सेट किया है। आपके मन में सवाल शायद यह है: हम मान कैसे पुनः प्राप्त कर सकते हैं? यहीं हम os.environ.get() मेथड का उपयोग कर सकते हैं।
आइए अपने AIRTABLE_KEY वेरिएबल का मान पुनः प्राप्त करते हैं:
api_key = os.environ.get("AIRTABLE_KEY")
print(api_key)
हमने कहा है कि हम AIRTABLE_KEY एनवायरनमेंट वेरिएबल का मान प्राप्त करना चाहते हैं। हम इस मान को api_key नामक एक नए वेरिएबल को असाइन करते हैं और फिर इसे कंसोल पर प्रिंट करते हैं।
हमारा कोड लौटाता है: YOUR_API_KEY_2।
आप os.environ की सामग्री को कंसोल पर प्रिंट करके आपके द्वारा सेट किए गए सभी एनवायरनमेंट वेरिएबल्स की सूची पुनः प्राप्त कर सकते हैं:
print(os.environ)
पायथन के अंदर कई डिफ़ॉल्ट एनवायरनमेंट वेरिएबल्स सेट होते हैं। इसका अर्थ है कि पायथन प्रोग्राम के अंदर सेट किए गए सभी एनवायरनमेंट वेरिएबल्स को प्रिंट करना एक लंबी सूची लौटा सकता है।
एनवायरनमेंट वेरिएबल कैसे हटाएं
आप पायथन प्रोजेक्ट के अंदर एनवायरनमेंट वेरिएबल्स को हटा सकते हैं। यह os.environ.pop() मेथड का उपयोग करके पूरा किया जा सकता है। आइए अपना AIRTABLE_KEY एनवायरनमेंट वेरिएबल हटाते हैं:
os.environ.pop("AIRTABLE_KEY")
यह कोड AIRTABLE_KEY एनवायरनमेंट वेरिएबल को हटा देता है।
यदि आप कई एनवायरनमेंट वेरिएबल्स को साफ़ करना चाहते हैं तो यह अव्यावहारिक है। यदि आप किसी प्रोजेक्ट का एक नया इंस्टेंस शुरू कर रहे हैं, या अपने सत्र में सभी एनवायरनमेंट वेरिएबल्स को रीसेट करना चाहते हैं, तो आपके पास ओवरराइड करने के लिए दर्जनों मान हो सकते हैं।
यहीं clear() मेथड काम आता है। आइए अपने सत्र में सभी एनवायरनमेंट वेरिएबल्स को हटाते हैं:
os.environ.clear() print(os.environ)
यह कोड सभी एनवायरनमेंट वेरिएबल्स के मानों को साफ़ करता है। फिर, यह हमारे सत्र में सभी एनवायरनमेंट वेरिएबल्स की सूची प्रिंट करता है:
{}
पायथन कुछ डिफ़ॉल्ट एनवायरनमेंट वेरिएबल्स सेट करता है जिनकी आपके प्रोजेक्ट को आवश्यकता हो सकती है।
आपको केवल clear() मेथड का उपयोग करना चाहिए यदि आप आश्वस्त हैं कि आपको प्रोग्राम में किसी भी एनवायरनमेंट वेरिएबल की आवश्यकता नहीं है। pop() मेथड का उपयोग करना पसंद किया जाता है क्योंकि यह अधिक विशिष्ट है।
डॉटएनवी का उपयोग करके एनवायरनमेंट वेरिएबल्स कैसे सेट करें
डॉटएनवी लाइब्रेरी एनवायरनमेंट वेरिएबल्स के प्रबंधन के लिए कई उपयोगी फ़ंक्शन प्रदान करती है।
विशेष रूप से, डॉटएनवी आपको एक फ़ाइल से एनवायरनमेंट वेरिएबल्स पढ़ने की अनुमति देती है। इसका अर्थ है कि आपको उन्हें पायथन शेल के अंदर घोषित करने की आवश्यकता नहीं है।
एक मॉड्यूल फ़ाइल से एनवायरनमेंट वेरिएबल्स पढ़ना अधिक सुविधाजनक है यदि आपके पास पढ़ने के लिए बहुत सारे मान हैं। यदि आपको उनके मान बदलने की आवश्यकता है तो यह वेरिएबल्स को प्रबंधित करना भी आसान बनाता है।
डॉटएनवी पैकेज के साथ काम करने के लिए, आपको इसे इंस्टॉल करना होगा। आप इसे या तो easy_install या pip का उपयोग करके कर सकते हैं।
आइए एक एनवायरनमेंट वेरिएबल को परिभाषित करके शुरू करते हैं। ऐसा करने के लिए, हम .env नामक एक फ़ाइल बनाने जा रहे हैं। हम कमांड लाइन से टच कमांड का उपयोग करके इस फ़ाइल को बना सकते हैं:
touch .env
अपनी .env फ़ाइल खोलें और निम्न सामग्री जोड़ें:
AIRTABLE_KEY=YOUR_API_KEY_3
एनवायरनमेंट वेरिएबल्स किसी अन्य वेरिएबल की तरह असाइन किए जाते हैं। बराबर चिह्न के बाईं ओर, आपके पास वेरिएबल का नाम होता है। दाईं ओर, आपके पास वह मान होता है जिसे वेरिएबल संग्रहीत करेगा। ये दो मान बराबर चिह्न द्वारा अलग किए जाते हैं।
अगला, हम अपने वेरिएबल्स को एक फ़ाइल में लोड करने जा रहे हैं:
from dotenv import load_dotenv load_dotenv()
यह कोड डॉटएनवी लाइब्रेरी से load_dotenv() मेथड को आयात करता है और इसे निष्पादित करता है। यह हमारी .env फ़ाइल में सभी वेरिएबल्स को हमारे वातावरण में पढ़ेगा।
अगला, आइए os लाइब्रेरी का उपयोग करके अपना वेरिएबल पुनः प्राप्त करने का प्रयास करते हैं:
import os
api_key = os.environ.get("AIRTABLE_KEY")
print(api_key)
हमारा कोड लौटाता है: YOUR_API_KEY_3। हमारी API कुंजी हमारी .env फ़ाइल के अंदर सेट की गई थी। load_dotenv() मेथड ने हमारे एनवायरनमेंट वेरिएबल्स को लोड किया और उन्हें os.environ मेथड का उपयोग करके एक्सेसिबल बना दिया।
निष्कर्ष
एनवायरनमेंट वेरिएबल्स पूर्वनिर्धारित मान हैं जिनका उपयोग प्रोग्राम के बाहर एक मान को कॉन्फ़िगर करने के लिए किया जाता है। वे आमतौर पर विभिन्न वातावरण सेट करने के लिए उपयोग किए जाते हैं, इसलिए उनका नाम।
एनवायरनमेंट वेरिएबल्स गुप्त मान सेट करने का एक सुरक्षित तरीका है। आप सीधे अपने एप्लिकेशन कोड में API कुंजी नहीं जोड़ना चाहेंगे क्योंकि यह आपके एप्लिकेशन को देखने वाले सभी लोगों द्वारा पठनीय होगी। आप इसे एनवायरनमेंट वेरिएबल में सेट कर सकते हैं ताकि केवल आप और आपका प्रोग्राम मान देख सकें।
अब आप एक पेशेवर की तरह पायथन कोड में एनवायरनमेंट वेरिएबल्स के साथ काम करना शुरू करने के लिए तैयार हैं!