5

मैं एक ऐसे वेब एप्लिकेशन पर एक दोस्त के साथ काम कर रहा हूं जिसे हम वितरित करना चाहते हैं और हम Django में काम कर रहे हैं।निर्भरताओं के साथ एक Django ओपनसॉर्स एप्लिकेशन को तैनात करना

मैं यह सुनिश्चित करना चाहता हूं कि संभावित उपयोगकर्ताओं के लिए तैनाती जितनी आसान हो सके। ऐसा लगता है कि Django साझा स्थापित पुस्तकालयों का बहुत उपयोग करता है और मैं चाहता हूं कि लोगों को सिर्फ हमारे नवीनतम संस्करण को डाउनलोड करने, अनजिप करने, कॉन्फ़िगरेशन फ़ाइल या दो संपादित करने की आवश्यकता हो और वर्डप्रेस इत्यादि जैसे शुरू करें।

मुझे उपयोग किया जाता है रेल शैली की तैनाती पर रूबी जहां आप अपने रत्नों और प्लगइन्स को एक विक्रेता निर्देशिका में पिस्टोनिज़ करते हैं और आपको बस भरोसा करने की आवश्यकता होती है।

बंडल की सभी निर्भरताओं के साथ एक आवेदन को तैनात करने के समान समान django तरीका क्या है? मैं स्थापित करने के बाद निर्भरताओं को खींचने के लिए easy_install जैसे कुछ का उपयोग नहीं करना चाहूंगा।

This Python Stack Overflow Answer ऐसा लगता है कि यह सही रास्ते पर है, लेकिन क्या वहां एक डीजेंगो विशिष्ट तरीका है? क्या यह एक हल समस्या है?

उत्तर

1

यह Django "पुन: प्रयोज्य ऐप" के साथ बड़ी सीमाओं में से एक है। एक हफ्ते या दो बार पॉडकास्ट में "इस सप्ताह में डैंगो में" इस सप्ताह वे इस सटीक समस्या के बारे में बात कर रहे थे। यह सर्वसम्मति प्रतीत होता है, और मैं मानता हूं कि वास्तव में कोई समाधान नहीं है।

यदि आप पिनैक्स को देखते हैं, जो शायद सबसे बड़ा वितरित Django प्रोजेक्ट है, तो आप देखेंगे कि वे पूरे सिस्टम के साथ ऐप्स को बंडल कर रहे हैं।

पायथन के पास कुछ पैकेज वितरण हैं। मुझे पता है कि ActiveState एक और शुरू करने पर काम कर रहा है। लेकिन तब भी सभी django ऐप्स पैक नहीं किए जाते हैं। कई केवल बिटबकेट, जिथब, या Google स्रोत में पाए जाते हैं। और फिर भी, उन सभी की एक प्रति प्राप्त करने के लिए एक को Mercurial, git, और svn स्थापित करने की आवश्यकता होती है। (Blah @ कि)

आप मूल रूप से 2 विकल्प यहाँ हैं:

  1. अपने स्रोत के साथ हर निर्भरता की एक प्रति शामिल करें
  2. कैसे उन एक दिया निर्भरता स्थापित करने के लिए दस्तावेज़ शामिल

यह एक दुखद सूची है, मुझे पता है। यह वास्तव में रूबी मणि प्रणाली का उपयोग करने के बाद बेकार है, लेकिन फिलहाल मुझे यकीन नहीं है कि आप क्या बेहतर खोज रहे हैं।

यदि यह किसी भी ब्याज की बात है, तो मैंने आपके प्रोजेक्ट के फ़ोल्डर (या एसवीएन में) पर निर्भरता रखने के बारे में एक लघु ब्लॉग पोस्ट लिखा और फिर उस पथ को डीजेंगो की शुरुआत में पायथन के खोज पथ में जोड़ दिया। (Managing Django Dependencies via SVN) यह कमोडो एडिट की इंटेलिजेंस को खराब करता है, लेकिन यह चीजों को अन्यथा आसान बनाता है।

+0

मुझे लगता है कि यह बंडल रणनीति रेल लोगों पर रूबी क्या कर रही है के करीब हो सकती है। – MattK

13

आपकी सबसे अच्छी शर्त pip का उपयोग करना है। पाइप पायथन पैकेज स्थापित करने के लिए एक उपयोगिता है। यह आपको उन आवश्यकताओं को बनाने की अनुमति देता है जो किसी प्रोजेक्ट के लिए निर्भरता सूचीबद्ध करते हैं। पीपी काफी आम है और व्यापक रूप से Django समुदाय द्वारा उपयोग किया जाता है, और मैं अत्यधिक इसका उपयोग करने की सिफारिश करता हूं।

जैसा कि टी। स्टोन ने Pinax का उल्लेख किया है, एक Django- आधारित प्रोजेक्ट में कई निर्भरताएं हैं और वे पीपी आवश्यकताओं की फ़ाइलों का काफी उपयोग करते हैं।

+0

भी, यदि आप वर्चुअलएन्व/पीआईपी के लिए नए हैं, तो मैंने यहां एक परिचय लिखा है: http: // bit।ly/IFx0I – richleland

+0

यह वास्तव में इस प्रश्न का सही जवाब होना चाहिए! – vdboor

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

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