अजगर के लिए बराबर मावेन [बंद]


146

मैं एक जावा डेवलपर / अजगर शुरुआत कर रहा हूँ, और मैं अपनी मावेन सुविधाओं, विशेष रूप से निर्भरता प्रबंधन और निर्माण स्वचालन को याद कर रहा हूं (मेरा मतलब है कि आप निर्माण नहीं करते हैं, लेकिन तैनाती के लिए पैकेज कैसे बनाएं?)

क्या इन सुविधाओं को प्राप्त करने के लिए एक अजगर बराबर है?
नोट: मैं अजगर 2.x का उपयोग करता हूं

धन्यवाद।

जवाबों:


70

अजगर निर्भरता और पैकेजिंग के लिए डिस्टुटिल्स और सेटप्टूल का उपयोग करता है।

एक ट्यूटोरियल जो मूल बातें समझाता है: http://docs.activestate.com/activepython/3.2/diveintopython3/html/packaging.html

संक्षेप में, आपके पास setup.py फ़ाइल होगी, जिसमें निर्भरता और स्क्रिप्ट संकलन / स्थापना जानकारी है, और आप इसके साथ अंडे, डिस्ट टारबॉल, बाइनरी टारबॉल, आदि का निर्माण कर सकते हैं।


6
चूंकि प्रिय इलेक्ट्रो-मार्क मार्क पिलग्रिम ने उस साइट को बंद कर दिया था, इसलिए यहां सक्रियता पर दर्पण है ।
जिग्गी

2
मैं इसे पाइथन पैकेजिंग यूजर गाइड की ओर इंगित करने के लिए अपडेट करने की सलाह देता हूं क्योंकि यह अब आधिकारिक गाइड है।
कोजिरो २४'१६

38

कोई सीधा मुकाबला नहीं है। हालांकि, निकटतम आप प्राप्त कर सकते हैं:

  • zc.buildout : यह बंद वातावरण को सेटअप कर सकता है, डाउनलोड / हैंडल निर्भरताएँ, स्क्रिप्ट्स को इनिशियलाइज़ कर सकता है। यह प्लगइन्स (या "रेसिपीज़" पर भी बनाता है, जैसा कि वे उन्हें कहते हैं)। मैंने इसे कुछ साल पहले इस्तेमाल किया था जब यह बीटा चरणों में था, शायद तब से यह विकसित हुआ है। मावेन के साथ सीखने की अवस्था है, लेकिन यह सबसे शक्तिशाली भी है।

अन्य चढ़ावा मावेन / zc.buildout के सबसेट हैं:

  • Setuptools : पैकेज निर्माण / स्थापना
  • पिप : निर्भरता प्रबंधन
  • Virtualenv + virtualenvwrapper : अलग-अलग अजगर के वातावरण का प्रबंधन करना (ऐसा कुछ जिसकी आपको जावा में आवश्यकता नहीं है)

आप शायद चींटी और शेल स्क्रिप्टिंग जानते हैं, इसलिए आप इन पायथन टूल्स को भी देख सकते हैं:

  • फैब्रिक या पेवर : अतिरिक्त फ्लेवर के साथ कमांड-लाइन टास्क रनर। वे आपके पारंपरिक कमांड-लाइन निष्पादन को अजगर में लपेटते हैं, और विभिन्न कार्यों को अधिक शक्तिशाली तरीके से प्रबंधित करने की अनुमति देते हैं (कार्य निर्भरताएं, आउटपुट की व्याख्या करना, रिमोट सर्वर में कमांड चलाना आदि)। मूल रूप से कुछ भी आप शेल स्क्रिप्टिंग के साथ नहीं कर सकते थे, लेकिन अजगर में, यह बहुत कम गूढ़ है।

14

मैं PyBuilder को इंगित करना चाहता हूं जो मावेन से काफी प्रेरित है, लेकिन कॉन्फ़िगरेशन के लिए XML के बजाय अजगर का उपयोग करता है, इसलिए यह वास्तव में पठनीय है, IMHO।

निर्भरता प्रबंधन के लिए एक प्लगइन है (हुड के नीचे पाइप का उपयोग करता है और बिल्ड और रनटाइम निर्भरता के बीच अंतर करता है) और, मावेन के विपरीत नहीं, आप एकल कमांड के साथ पूर्ण बिल्ड जीवनचक्र के माध्यम से चला सकते हैं।


9

परिनियोजन के लिए, डिस्टुटिल्स / सेटअपटॉस के अलावा, पाइप पैकेज पर भी एक नज़र डालें (नीचे के सेटपूलट का उपयोग करता है)। यह विफल इंस्टॉलेशन को रोलबैक कर सकता है और अनइंस्टॉल भी कर सकता है (easy_install / setuptools से गायब कुछ)। इसके अलावा, आप एक आवश्यकताएँ पाठ फ़ाइल के माध्यम से निर्भरता निर्दिष्ट कर सकते हैं।


6

वर्चुअललेनव का उपयोग स्टैंडअलोन प्रोजेक्ट वातावरण बनाने और प्रबंधन निर्भरताओं के लिए पाइप / easy_install का उपयोग करना अच्छा है।


7
यह दुखद है
:)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.