ए virtualenv एक हल्का, स्वयं निहित पायथन स्थापना है। उन्हें कम से कम झगड़ा के साथ स्थापित करने के लिए डिजाइन किया गया है, और व्यापक विन्यास या विशेष ज्ञान की आवश्यकता के बिना "बस काम" करने के लिए डिज़ाइन किया गया है। यह
>C:\Python34\python.exe -m venv ENV_DIR
(:
अजगर 3.3 में या बाद में, आपको इस प्रकार virtualenv बना सकते हैं:
$ python3 -m venv ENV_DIR
Windows के लिए, आप पूर्ण पथ के साथ python3
बदलना चाहिए python.exe को एक सामान्य पायथन स्थापना है; आपकी प्रणाली भिन्न हो सकती है।)
पाइथन 2 के पुराने संस्करणों में, पाइथन 2 सहित, निम्न आदेशों में से एक को अधिकांश सीए में काम करना चाहिए एसईएस:
$ virtualenv ENV_DIR
$ venv ENV_DIR
$ pyvenv ENV_DIR
$ pyvenv3 ENV_DIR
ENV_DIR
एक गैर-मौजूद निर्देशिका होना चाहिए। निर्देशिका में कोई नाम हो सकता है, लेकिन इन निर्देशों को सरल रखने के लिए, मुझे लगता है कि आपने venv
नामक निर्देशिका में अपना वर्चुअलनव बनाया है (उदा। python3 -m venv ./venv
के साथ)।
अपने virtualenv में काम करने के लिए, आप इसे सक्रिय:
$ . ./venv/bin/activate
(venv)$
या यदि आप एक विंडोज़ प्रणाली है इस का उपयोग करें: क्या आप जानते हैं की सुविधा देता है सुरक्षा प्रॉम्प्ट में
$ venv\Scripts\activate
(venv)
आप virtualenv जो सक्रिय हो गया है, लेकिन अगर आप इसे पसंद नहीं करते हैं तो आप इस सुविधा को बंद कर सकते हैं। आप सभी सामान्य अजगर कमांड चलाने कर सकते हैं, और वे अपने virtualenv करने के लिए स्थानीय हो जाएगा:
(venv)$ pip install requests numpy
[...]
(venv)$ python
[...]
>>> import requests
>>> import numpy as np
>>>
python
अजगर के संस्करण पर चलेगा कि आप अपने virtualenv में स्थापित है, तो (उदाहरण के लिए) आप की जरूरत नहीं है पाइथन 3 प्राप्त करने के लिए python3
टाइप करें। पाइथन जो इसे चलाता है, उसके पास सभी मानक लाइब्रेरी मॉड्यूल और वर्चुअलएन्व में स्थापित सभी संकुल तक पहुंच होगी, लेकिन (डिफ़ॉल्ट रूप से) सिस्टम-व्यापी site-packages
निर्देशिका में स्थापित कोई भी पैकेज नहीं है।
यह अंतिम नियम महत्वपूर्ण है: अपने वर्चुअलएन्व को केवल स्थानीय रूप से स्थापित पैकेजों का उपयोग करने के लिए प्रतिबंधित करके, आप यह सुनिश्चित कर सकते हैं कि आप अपनी परियोजना का उपयोग कर रहे हैं कि वास्तव में कौन सी निर्भरताओं का उपयोग कर रहे हैं, भले ही कुछ नया सिस्टम-व्यापी पैकेज अगले सप्ताह स्थापित हो या अपडेट हो ।यदि आप चाहें, तो आप अपने इंस्टॉल किए गए पैकेज की एक सूची प्राप्त कर सकते हैं:
(venv)$ pip freeze
requests==2.13.0
numpy==1.12.0
(venv)$
pip
भी इस प्रारूप को पार्स और इसे से स्थापित कर सकते हैं, और यह एक ही संस्करण स्थापित हो जाएगा, भले ही अद्यतन इस बीच में जारी किया गया है:
(venv)$ pip freeze >requirements.txt
(some-other-venv)$ pip install -r requirements.txt
[...]
(some-other-venv)$ python
>>> import requests
>>> import numpy as np
>>>
आप इसे निष्क्रिय करने से virtualenv से बाहर निकलना कर सकते हैं:
(venv)$ deactivate
$ python
[...]
>>> import requests
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'requests'
के रूप में आप जितने चाहें उतने virtualenvs बना सकते हैं, और वे int नहीं होंगे एक दूसरे के साथ, और न ही अपने सिस्टम संकुल के साथ। एक virtualenv "बस" एक इसके तहत बाइनरी और स्क्रिप्ट के एक समूह के साथ निर्देशिका है, तो आप एक virtualenv उसी तरह आप (यूनिक्स पर rm -r venv
) किसी भी निर्देशिका को निकालने निकाल सकते हैं। यदि वर्चुअलएन्व इसे हटाते समय सक्रिय किया जाता है, तो आप अपना खोल भ्रमित कर सकते हैं, इसलिए शायद उस मामले में deactivate
पर यह एक अच्छा विचार है।
यह लेख पढ़ें: http://flask.pocoo.org/docs/0.12/installation/#virtualenv –