2011-11-27 16 views
13

दूसरे शब्दों में, mkvirtualenv और mkproject आदेशों के बीच क्या अंतर है?Virtualenvwrapper में वातावरण और परियोजनाओं के बीच क्या संबंध है?

मैं एक कार्यप्रवाह है कि इस तरह दिखता है:

/dev 
    projectA 
     appA 
     appB 
    projectB 
     appA 
     appB 

एप्लिकेशन के सभी कुछ संसाधनों (दक्षिण, pep8 आदि) का हिस्सा है, लेकिन अन्य संसाधनों प्रत्येक अनुप्रयोग के लिए विशिष्ट हैं। क्या मुझे इन निर्भरताओं को अलग रखने के लिए वर्चुअलनव्वैपर "प्रोजेक्ट्स" का उपयोग करना चाहिए?

+0

वर्चुअलएन्वापर परियोजना क्या है? Virtualenwrapper वर्चुअलएन्ड्स बनाता है, प्रबंधित करता है, और हटा देता है। आप टर्मिनल के लिए सक्रिय वर्चुअलएन्व बना सकते हैं। – hughdbrown

उत्तर

15

documentation की मेरी समझ से, mkvirtualenv projectenv बस $WORKON_HOME में projectenv नाम की एक नई आभासी वातावरण बनाता है, जबकि mkproject projectenvprojectenv नाम की एक नई आभासी वातावरण और एक नया निर्देशिका projectenv नामित बनाता है; निर्माण के बाद, projectenv निर्देशिका स्वचालित रूप से आपकी वर्तमान कार्य निर्देशिका बन जाती है। वर्चुअल वातावरण $WORKON_HOME में मौजूद होगा और विकास निर्देशिका $PROJECT_HOME में मौजूद है।

नोट, mkproject के लिए सही ढंग से काम करने के लिए, आपको पहले उस निर्देशिका के नाम पर पर्यावरण चर PROJECT_HOME सेट करना होगा जहां आप प्रोजेक्ट बनाना चाहते हैं। आप इसे उसी स्थान पर कर सकते हैं जहां आपने अपना $WORKON_HOME चर सेट किया है या इसे फ्लाई पर सेट किया है, उदा।

export PROJECT_HOME=$HOME/src/allprojects 
mkproject mynewproject 

mynewproject अब अपने वर्तमान आभासी वातावरण हो जाएगा और एक नया mynewproject निर्देशिका ~/src/allprojects में मौजूद रहेगी।

3

mkvirtualenv, virtualenvwrapper कि प्रबंध अजगर virtualenvs आसान बना देता है से आदेश है, जबकि mkproject अपनी परियोजनाओं (जो सीधे virtualenvwrapper में एकीकृत किया गया)

प्लगइन पृष्ठ का उल्लेख निम्न सुविधाओं का प्रबंधन करने के लिए एक virtualenvwrapper प्लगइन से आता है:

आपके विकास परियोजना कार्य निर्देशिकाओं को आपके वर्चुअलएन्व वातावरण के साथ प्रबंधित करता है। टेम्पलेट्स बनाने के लिए पर एक एपीआई परिभाषित करता है जो लगातार नए वातावरण बनाते हैं। परियोजनाओं के बीच स्विच करने के लिए वर्चुअलएन्वापर से वर्कन कमांड का उपयोग करें। नई परियोजनाओं को अनुकूलित करने के लिए उपयोगकर्ता-कॉन्फ़िगर करने योग्य हुक ।

वर्चुअलएन्व कमांड का उपयोग करने के लिए आपको वर्चुअलएन्वापर प्लगइन का उपयोग करके अपनी परियोजनाओं को बनाने या प्रबंधित करने की आवश्यकता नहीं है। वर्कन कमांड जारी करते समय, या टेम्पलेट्स से नई परियोजनाओं को बनाने से प्रोजेक्ट निर्देशिका में स्वैपिंग जैसी चीजों के लिए यह एक सुविधा प्लगइन है।

वर्चुअलनव के पास वर्चुअलनव के पास सिस्टम साइट-पैकेज के अलावा कोई लाइब्रेरी साझा करने की क्षमता नहीं है यदि आप सही ध्वज का उपयोग करते हैं। मैंने एक परियोजना पर एक बार ठोकर खाई जिसने आपको अन्य चीजों के बीच यह क्षमता दी, लेकिन इसे फिर कभी नहीं मिला।

संपादित करें: वर्चुअलनव्वैपर में अब copy virtualenvs की कार्यक्षमता है, और share libraries पर अपने वर्चुअलनव पाथ में निर्देशिका जोड़ने के लिए।

संबंधित मुद्दे