पायथन 3.3+ के लिए (नए venvबिल्ट-इन मॉड्यूल के साथ)
संक्षिप्त उत्तर (संस्करण की परवाह किए बिना):
- वर्चुअल वातावरण को स्थानांतरित करने का कोई साफ, सीधा तरीका नहीं है
- बस फिर से बनाना, यह आसान है !!
लंबा जवाब:
पायथन v3.3 के रूप में, virtualenvएक अंतर्निहित मॉड्यूल नाम का बन गया है venv।
--relocatableविकल्प अन्य उत्तर में वर्णित में शामिल नहीं किया गया है venv, और वर्तमान में अच्छा नहीं, सुरक्षित तरीका है कि मैं या तो नाम बदलने के लिए के बारे में पता कर रहा हूँ या एक अजगर आभासी वातावरण स्थानांतरित होती है।
हालांकि, एक आभासी वातावरण को फिर से बनाने के लिए एक सरल तरीका है, इसके सभी मौजूदा स्थापित पैकेजों के साथ। इस उत्तर को देखें , या आभासी वातावरण को फिर से बनाने के लिए नीचे दिए गए अनुभाग को देखें। प्रक्रिया के दौरान आप नए वातावरण को जो भी स्थान में और जिस भी नाम से आप चाहते हैं, को फिर से बना सकते हैं। या प्रक्रिया के लिए नीचे दिया गया अनुभाग देखें।
उस जवाब में, वह कुछ अन्य 3 पार्टी पैकेजों का उल्लेख करता है जो प्रत्यक्ष नाम या चाल का समर्थन कर सकते हैं। यदि आप एक आभासी वातावरण को स्थानांतरित करने के तरीके को आगे बढ़ाने पर बसे हैं, तो आप देख सकते हैं कि क्या वे साथ काम करते हैं venv।
नोट: उस उत्तर में, इसके virtualenvबजाय पर केंद्रित है venv। अनुवाद कैसे करें, इसके लिए नीचे देखें।
venvबनाम पुरानी virtualenvकमांड सिंटैक्स
उपयोग करने के लिए आदेश venvहै:
python -m venv
बजाय सिर्फ virtualenv, जो मूल पैकेज में एक कमांड के रूप में स्थापित होता है। हालांकि "अजगर" संदर्भित करता है, हालांकि आप अपने अजगर को निष्पादन योग्य चलाते हैं, जो विभिन्न प्रकार की चीजें हो सकती हैं, जैसे:
python
pyया py -3.7इसी तरह ( पायथन लॉन्चर फॉर विंडोज विथ पायथन 3.3+ और विंडोज फिलहाल)
python3 (लिनक्स वातावरण के लिए सम्मेलन कि अजगर 2 और 3 को स्थापित करते हैं)
- यदि आपको समस्या हो रही है, तो जिस पथ को आप चलाना चाहते हैं, उसके लिए पूर्ण पथ का उपयोग करें: उदा
c:\program files\python37\python.exe
यदि आप अनिश्चित हैं कि कौन सा संस्करण चलाया जा रहा है, तो आप हमेशा python --versionपता लगा सकते हैं ।
एक आभासी वातावरण को फिर से कैसे बनाया जाए
वर्चुअल वातावरण बनाना / फिर से बनाना आसान है और आपके साथ थोड़ा सा काम करने के बाद दूसरा स्वभाव बनना चाहिए। इस प्रक्रिया में यह दिखाया गया है कि आप अपनी स्क्रिप्ट को पैकेज के रूप में वितरित करने के लिए क्या करेंगे (इसकी निर्भरता के साथ), और फिर आगे के विकास के लिए आपकी स्क्रिप्ट / पैकेज को स्थापित करने के लिए कोई क्या करेगा।
सबसे पहले, आभासी वातावरण में क्या है की एक अद्यतन सूची प्राप्त करें। इसके सक्रिय होने से, पायथन संस्करण का उपयोग करें और एक फाइल पर निर्भरता की सूची को बचाएं।
python --versionआभासी पर्यावरण के साथ प्रयोग करके देखें कि वह पायथन के किस संस्करण का उपयोग कर रहा है।
- यह स्पष्टता के लिए है - आप विभिन्न कारणों से पायथन संस्करण को अपडेट करना चाह सकते हैं - कम से कम नवीनतम पैच संस्करण के लिए
- उदाहरण के लिए, यदि मौजूदा वेन पायथन v3.7.4 का उपयोग कर रहा है, लेकिन अब v3.7.6 बाहर है - इसके बजाय v3.7.6 का उपयोग करें, जिसमें केवल गैर-ब्रेकिंग सुरक्षा और बग फिक्स शामिल होना चाहिए।
का प्रयोग करें python -m pip freeze > requirements.txtमौजूदा पैकेज निर्भरता की सूची बनाने के लिए और उन्हें में डाल दिया requirements.txtफ़ाइल। यह कमांड निश्चित रूप से लिनक्स या गिट बैश में काम करता है - विंडोज में पॉवर्सशेल या कमांड लाइन के बारे में 100% निश्चित नहीं है।
अब एक नया आभासी वातावरण बनाएं और फिर पुराने से निर्भरता जोड़ें।
अपना नया वेनव बनायें।
- सुनिश्चित करें कि आप अजगर के सही संस्करण का उपयोग कर रहे हैं जिसे आप वेव में स्थापित करना चाहते हैं।
- यदि आप चाहते हैं कि यह बिल्कुल वही पायथन संस्करण हो:
- अजगर को वर्तमान आभासी वातावरण से सीधे चलाएं (इसके साथ सक्रिय), और केवल
pythonकमांड के रूप में उपयोग करें
- या
python.exeवर्चुअल एनवायरनमेंट फोल्डर में एक निरपेक्ष पथ का उपयोग करें
- आदेश में नए venv फ़ोल्डर प्रविष्टि के लिए:
- या तो वांछित अंतिम फ़ोल्डर स्थान के लिए एक पूर्ण या सापेक्ष पथ जोड़ें।
python -m venv my_new_venvएक नया my_new_venvफ़ोल्डर में एक नया आभासी वातावरण बनाने के लिए वर्तमान वर्किंग डायरेक्टरी में उपयोग करें ।
- वेनव फोल्डर का नाम वेनव का नाम होगा (जो सक्रिय होने पर संकेत दिखाता है)।
requirements.txtफ़ाइल से अपनी निर्भरता स्थापित करें ।
python -m pip install -r requirements.txt
आपको स्थानीय पैकेजों को फिर से स्थापित करने की आवश्यकता हो सकती है जो विकास मोड में हैं।
ध्यान दें, यदि आपको कभी विशिष्ट स्थान देखने की आवश्यकता हो तो पैकेज का उपयोग करने के लिए स्थापित किया गया है:
python -m pip list -v
-vया "वर्बोज़" विकल्प प्रत्येक पैकेज है कि स्थापित किया गया है, पथ उस में स्थापित किया गया है सहित के बारे में कुछ अतिरिक्त जानकारी जोड़ देगा। यह सीधे सुनिश्चित करें कि आप रख रहे हैं आभासी, उपयोगकर्ता, और सिस्टम इंस्टॉल किए गए पैकेज बनाने के लिए उपयोगी है।
इस बिंदु पर आप केवल पुराने venv फ़ोल्डर और सभी सामग्रियों को हटा सकते हैं। मैं इसके लिए एक GUI का उपयोग करने की सलाह देता हूं - फ़ाइल विलोपन अक्सर लिनक्स कमांड लाइन से स्थायी होते हैं, और एक छोटा टाइपो बुरी खबर हो सकती है।