जब आप अजगर / django विकास कर रहे हैं तो ये सभी पर्यावरण संबंधी बाधाएँ आम हैं! मैं इन सभी समस्याओं से गुज़रा, और मैंने कुछ समाधानों का परीक्षण किया है! जिन चीजों का मैंने परीक्षण किया है:
- परियोजना स्थानीय चल रही है
- Virtualenv में प्रोजेक्ट चल रहा है
- VM में प्रोजेक्ट चल रहा है
- एक वीएम में चल रही परियोजना, योनि का उपयोग कर
मैंने पाया सबसे अच्छा समाधान # 4 था! क्योंकि जिस कंपनी में मैं काम करता था, टीम के प्रत्येक व्यक्ति के पास अलग-अलग OS, सभी प्रकार की खिड़कियां, मैक और लिनक्स होते हैं, और प्रत्येक वातावरण के लिए सभी निर्भरताएं स्थापित करने में समय लगता है! तो हमने virtualenv की कोशिश करने का फैसला किया, जो वास्तव में अच्छा है! लेकिन फिर भी प्रत्येक व्यक्ति को अपने स्वयं के वातावरण की स्थापना करनी होगी। Virtualenv में समस्या यह है कि सभी अजगर स्रोत उस वातावरण के भीतर होते हैं जो आप बनाते हैं! तो मैं उन फ़ाइलों को एक स्रोत संस्करण नियंत्रण पर नहीं धकेलूंगा! सबसे अच्छा समाधान # 4 था, क्योंकि यह वही था जो मुझे चाहिए था, वैग्रेंट अपने वातावरण को सेटअप करने के लिए शेफ का उपयोग करता है, इसलिए आपको बस कुछ व्यंजनों को लिखना होगा, और योनि को यू के लिए चलाने दें! फिर यू उन व्यंजनों को एससीएम पर धकेलें, तब जब अगले व्यक्ति को एससीएम से फाइलें मिलेंगी और वीएम को फिर से लोड किया जाएगा तो सभी निर्भरताएं स्वचालित रूप से स्थापित हो जाएंगी!
मेरे पास एक ब्लॉग पोस्ट है जो इस विषय के बारे में अधिक बता रही है और साथ ही मैंने गितुब में एक Django ब्लैंक परियोजना बनाई है ताकि आप योनि का उपयोग करके अपनी परियोजना का एक प्रारंभिक बिंदु प्राप्त कर सकें।
http://arthurnn.com/blog/2011/11/25/easy-django-quickstart/ (लिंक अब सक्रिय नहीं है, इसलिए वेबैक मशीन से जुड़ा हुआ है)
संपादित करें
क्रिस प्रैट से समाधान एक अच्छा के रूप में अच्छी तरह से है, हालांकि कुछ पुस्तकालयों सभी ओएस में स्थापित करने के लिए इतने सीधे नहीं हैं, उदाहरण के लिए, मैक पर बहुत सारे लोगों को समस्या आती है जब वे MySQLdb-python स्थापित करना चाहते हैं। जो वास्तव में एक सामान्य पुस्तकालय है, लेकिन अगर आपकी टीम में सभी को इस मुद्दे को सुलझाने में समय बिताना है, तो यह बिल्कुल भी अच्छा नहीं है!
~/path/to/virtualenv/bin/pip freeze > ~/path/to/repo/requirements.txt
। अन्य डेवलपर्स सेटअप करने के लिए अपने स्वयं के virtualenv आवश्यकता होगी, लेकिन यह सचमुच दो आदेशों है -virtualenv ~/path/to/env
,~/path/to/env/bin/pip install -r ~/path/to/requirements.txt
।