परिचय
डेवलपर्स अक्सर Python प्रोजेक्ट से निपटते हैं जहां उन्हें मॉड्यूल और पैकेज का उपयोग करना पड़ता है जो Python मानक लाइब्रेरी का हिस्सा नहीं थे और उन्हें केवल इस विशेष एप्लिकेशन के लिए चाहिए। एक मामले पर विचार करें, जहां आपने Python का वर्तमान संस्करण इंस्टॉल किया है (मान लें कि यह python-3.6 है) लेकिन आपके प्रोजेक्ट को इस विशेष एप्लिकेशन के लिए विशिष्ट Python संस्करण -- 2.7 की आवश्यकता है, तो यह केवल नए पैकेज नहीं हैं बल्कि आवश्यकता आपके पहले से इंस्टॉल एप्लिकेशन के विशेष संस्करण के लिए भी आ सकती है। तब आवश्यकताएं टकराव में हैं और या तो संस्करण 2.7 या 3.6 इंस्टॉल करने से एक एप्लिकेशन चलने में असमर्थ रह जाएगा।
इन परिस्थितियों को हल करने का एक समाधान अपने प्रोजेक्ट के लिए एक वर्चुअल एनवायरनमेंट बनाना है। Virtualenv एक प्रकार का टूल है जो हमें आइसोलेटेड Python एनवायरनमेंट बनाने की अनुमति देता है। Virtualenv एक सेल्फ-कंटेन्ड फ़ोल्डर बनाता है जिसमें Python प्रोजेक्ट के लिए आवश्यक पैकेज का उपयोग करने के लिए सभी आवश्यक एक्ज़ीक्यूटेबल होते हैं।
हम इसे क्यों चाहते हैं?
Virtualenv (वर्चुअल एनवायरनमेंट टूल) का उपयोग करने का मुख्य उद्देश्य निर्भरता, संस्करण (Python पैकेज के) और अप्रत्यक्ष रूप से अनुमतियों के मुद्दों को हल करना है।
वर्चुअल एनवायरनमेंट इंस्टॉल करने की आवश्यकताएं
पहली बात, आपके मशीन में Python इंस्टॉल होना चाहिए (जरूरी नहीं कि नवीनतम संस्करण) और pip पैकेज मैनेजर। हालांकि, यदि आप Python 3.4 संस्करण या उच्चतर का उपयोग कर रहे हैं, तो pip डिफ़ॉल्ट रूप से शामिल है (Python मानक लाइब्रेरी के रूप में आता है)। यदि आपके पास उनमें से कोई नहीं है, तो पहले इसे इंस्टॉल करने की सिफारिश की जाती है।
वर्चुअल एनवायरनमेंट बनाना
अपना कमांड प्रॉम्प्ट खोलें (अपने रन टर्मिनल में cmd टाइप करें)। अब उस डायरेक्टरी पथ (स्थान) पर जाएं जहां आप वर्चुअल एनवायरनमेंट इंस्टॉल करना चाहते हैं।
यदि आप Python 3.x का उपयोग नहीं कर रहे हैं, तो आपको pip के साथ virtualenv टूल इंस्टॉल करना होगा।
शेल
pip install virtualenv
यदि virtualenv पहले से इंस्टॉल है (या तो आप Python 3 संस्करण का उपयोग कर रहे हैं या आप पहले से इंस्टॉल virtualenv से अनजान हैं), तो उपरोक्त कमांड चलाने से आपको ऐसा संदेश मिलेगा,
>pip install virtualenv Requirement already satisfied: virtualenv in c:\python\python361\lib\site-packages (15.1.0)
काम करने के लिए एक नया फ़ोल्डर बनाकर शुरू करें
शेल
mkdir python-virtual-environments && cd python-virtual-environments
उपरोक्त कमांड चलाने के बाद, आप नए बनाए गए फ़ोल्डर के अंदर हैं। अब डायरेक्टरी (ऊपर बनाई गई डायरेक्टरी) के अंदर एक नया वर्चुअल एनवायरनमेंट बनाएं।
शेल
# Python 2.x संस्करण के लिए -
virtualenv myenv
# Python 3.x संस्करण के लिए -
python -m venv myenv
उपरोक्त स्क्रिप्ट myenv नामक एक नया फ़ोल्डर बनाएगी जिसमें कुछ डायरेक्टरी और बहुत सारी फ़ाइलें होंगी, जिसकी डायरेक्टरी संरचना नीचे दी गई तरह होगी -
├── Include │ ├── abstract.h │ ├── accu.h │ ├── asdl.h │ ├── ast.h │ ├── bitset.h ......... ├── Lib │ ├── __future__.py │ ├── __pycache__ │ ├── _bootlocale.py │ ├── _collections_abc.py │ ├── _dummy_thread.py │ ├── _weakrefset.py │ ├── abc.py │ ├── base64.py │ ├── bisect.py │ ├── codecs.py ......... ├── pip-selfcheck.json ├── Scripts │ ├── activate │ ├── activate.bat │ ├── activate.ps1 │ ├── activate_this.py │ ├── deactivate.bat │ ├── easy_install.exe │ ├── easy_install-3.6.exe │ ├── pip.exe │ ├── pip3.6.exe │ ├── pip3.exe │ ├── python.exe │ ├── python36.dll │ ├── pythonw.exe │ └── wheel.exe
जहां -
Include (डायरेक्टरी): Python पैकेज को संकलित करने वाले C हेडर
Scripts (डायरेक्टरी): वर्चुअल एनवायरनमेंट के साथ इंटरैक्ट करने वाली फ़ाइलें
Lib (डायरेक्टरी): Python संस्करण की कॉपी और site-packages डायरेक्टरी जहां प्रत्येक निर्भरता इंस्टॉल की जाती है।
वर्चुअल एनवायरनमेंट को कैसे सक्रिय करें?
स्क्रिप्ट डायरेक्टरी में एक दिलचस्प फ़ाइल activate स्क्रिप्ट है। activate स्क्रिप्ट एनवायरनमेंट के Python एक्ज़ीक्यूटेबल्स और उसके site-package का उपयोग डिफ़ॉल्ट रूप से आपके शेल को सेट करने के लिए करती है।
हालांकि, इस वर्चुअल एनवायरनमेंट "myenv" के पैकेज या संसाधनों का उपयोग आइसोलेशन में करने के लिए, आपको पहले इसे "सक्रिय" करना होगा। अपने वर्चुअल एनवायरनमेंट को सक्रिय करने के लिए स्क्रीनशॉट में दिखाए अनुसार कमांड चलाएं।

एक बार वर्चुअल एनवायरनमेंट सक्रिय हो जाने पर, हम बाहर की दुनिया से अलग, सभी प्रोजेक्ट संबंधी पैकेज और अन्य निर्भरताएं इंस्टॉल कर सकते हैं। उदाहरण के लिए, यदि हम डेटा साइंस प्रोजेक्ट के साथ काम कर रहे हैं, तो हम नीचे दिए गए कमांड को टाइप करके एक बार में सभी आवश्यक पैकेज और उनकी निर्भरताएं इंस्टॉल कर सकते हैं -
(myenv) C:\Users\rajesh\python-virtual-environments>pip install numpy scipy matplotlib ipython jupyter pandas
एक बार जब हम अपने प्रोजेक्ट के साथ हो जाते हैं, तो हम इसे केवल डीएक्टिवेट करके वर्चुअल एनवायरनमेंट से बाहर आ सकते हैं।
(myenv) C:\Users\rajesh\python-virtual-environments>deactivate C:\Users\rajesh\python-virtual-environments>
अब हम वापस Windows कमांड शेल में हैं (ऊपर की तरह)।