2010-04-14 12 views
22

मैं एक पायथन मॉड्यूल जारी करना चाहता हूं जिसे मैंने लिखा था जो कई पैकेजों पर निर्भर करता है। इसे बनाने का सबसे आसान तरीका क्या है ताकि इन पैकेजों को प्रोग्रामेटिक रूप से डाउनलोड किया जा सके, अगर वे उस सिस्टम पर उपलब्ध नहीं हैं जो चल रहे हैं? इनमें से अधिकतर मॉड्यूल easy_install या pip या उस तरह से कुछ उपलब्ध होना चाहिए। मैं बस उपयोगकर्ता को प्रत्येक मॉड्यूल को अलग से स्थापित करने से बचना चाहता हूं।पाइथन में स्वचालित रूप से आवश्यक मॉड्यूल डाउनलोड करने का सबसे आसान तरीका?

धन्यवाद।

+0

अधिकांश पैकेज प्रबंधन प्रणालियों के पास पैकेज की निर्भरताओं को निर्दिष्ट करने का एक तरीका है ताकि निर्भरता स्वचालित रूप से इंस्टॉल हो। मुझे नहीं पता कि setuptools/पायथन पैकेज इंडेक्स के साथ इसे कैसे किया जाए, लेकिन मुझे लगता है कि निर्भरता निर्दिष्ट करने के लिए एक तंत्र है। –

उत्तर

4

कैसे अपने निर्भरता की घोषणा करने पर setuptools docs देखें - इस easy_install को खोजने के लिए, डाउनलोड और PyPi में उन्हें (और सकर्मक बंद क्या है) हैं कि सबकुछ उपलब्ध सभी स्थापित करें, या अन्यथा आप निर्भरता 'URL निर्दिष्ट करता है, तो अनुमति देगा।

+0

पीआईपी के बारे में आप क्या सोचते हैं? सेटअप टोल के लिए पीआईपी तुलना बहुत दृढ़ता से प्रतीत होती है ... क्या वास्तव में पाइथन समुदाय में सर्वसम्मति है कि पीआईपी बेहतर है? – user248237dfsf

+0

इसके अलावा, पीपी हैंडल गैर-पीईपीआई निर्भरताओं जैसे setuptools कर सकते हैं? – user248237dfsf

+0

@user, दुर्भाग्यवश मेरे पास पाइप के साथ बहुत सी प्रत्यक्ष अनुभव नहीं है, लेकिन मेरी धारणा यह है कि यह 'easy_install' कर सकता है, और और भी बहुत कुछ कर सकता है। जैसा कि http://www.b-list.org/weblog/2008/dec/15/pip/ कहता है, "पीपी आपके पैकेजिंग वर्कफ़्लो को किसी भी तरह से नहीं बदलती है। आप बस अपना पैकेज बनाते हैं जिस तरह से आपने इसे हमेशा बनाया है , और उसके बाद इसे कहीं भी वेब पर रखें (अधिमानतः इसे पायथन पैकेज इंडेक्स में सूचीबद्ध करें, लेकिन अगर आपको नहीं करना है तो आपको ऐसा नहीं करना चाहिए) और पीपी का उपयोग करने वाले लोग इसे पकड़ सकते हैं और इसे इंस्टॉल कर सकते हैं। " –

21

piprequirements files का उपयोग करता है, जिसमें a very straightforward format है।

अधिक पाइथन पैकेजिंग टूलिंग अनुशंसाओं के लिए, latest from the Python Packaging Authority (PyPA) देखें।

+0

@ जेएफ। मुझे लगता है कि इदान गजित पहली छवि के लिए ज़िम्मेदार है; मुझे यकीन नहीं है कि दूसरे के लिए कौन जिम्मेदार है। दोनों अमेज़ॅन एस 3 पर होस्ट किए जाते हैं; छवि स्थान उनके एस 3 स्थानों पर इंगित करते हैं, ताकि आप छवि स्थानों की प्रतिलिपि बना सकें और यहां और अन्य जगहों का उपयोग कर सकें। मैंने टाइटस ब्राउन की पीकॉन 2010 की बातचीत में "पायथन कॉमरेड्स" देखा; "नई हॉटनेस" अब एक साल के लिए आसपास रहा है। शायद पाइथन मेलिंग सूचियों पर कुछ हद तक मूल स्रोत (ओं) को चालू कर सकते हैं। – gotgenes

+0

हालांकि वर्तमान में यह सबसे ज्यादा वोट दिया गया उत्तर है, लेकिन यह वास्तव में एक समाधान (हालांकि शानदार ग्राफिक) प्रदान नहीं करता है। मैं वर्तमान में इस विषय पर [इस हालिया पोस्ट] (https://caremad.io/blog/setup-vs-requirements/) पाया। इस खोज पर दूसरों की मदद कर सकते हैं। – bnjmn

+0

जाहिर है, वितरित करें [अब बहिष्कृत है] (https://pythonhosted.org/distribute/) – fabian789