2008-09-25 2 views
9

मैं कई पाइथन स्क्रिप्ट लिखता हूं, और मुझे लगता है कि मैंने अन्य परियोजनाओं के लिए लिखे गए बहुत सारे कोड का पुन: उपयोग किया है। मेरा समाधान यह सुनिश्चित करने के लिए किया गया है कि कोड लॉजिकल मॉड्यूल/पैकेज में अलग हो गया है (यह एक दिया गया है)। मैं फिर उन्हें सेटअप करने के लिए तैयार करता हूं और उन्हें पीपीपीआई पर प्रकाशित करता हूं। यह मेरी अन्य स्क्रिप्ट्स को हमेशा अद्यतित कोड रखने की इजाजत देता है, मुझे एक गर्म अस्पष्ट लग रहा है क्योंकि मैं खुद को दोहराना नहीं चाहता हूं, और सामान्य रूप से, मेरा विकास कम जटिल बना दिया जाता है। मुझे यह भी अच्छा लगता है कि वहां कोई ऐसा व्यक्ति हो सकता है जो मेरा कोड कुछ काम करने के लिए आसान पाता है, लेकिन यह मुख्य रूप से स्वार्थी कारणों के लिए है :)आप अपने कस्टम मॉड्यूल का प्रबंधन कैसे करते हैं?

सभी पायथनिस्टों के लिए, आप इसे कैसे संभालेंगे? क्या आप पीईपीआई या सेटअपटोल (easy_install) का उपयोग करते हैं? या कुछ और?

+0

@ जेरेमी: यह प्रश्न में एक प्रश्न और उत्तर है। आपको सरल शब्दों में प्रश्न को फिर से लिखना चाहिए, और फिर आपको प्रश्न के पहले उत्तर के रूप में इसे करने के लिए अपनी विधि डालना चाहिए। मॉड्यूल के प्रबंधन के लिए सबसे अच्छा तरीका शीर्ष पर मतदान किया जाएगा ... आप कभी नहीं जानते, यह तुम्हारा हो सकता है। –

+0

मैंने वास्तव में इसके बारे में सोचा जैसे ही मैंने इसे पोस्ट किया। मैं निश्चित रूप से अगली बार ऐसा करूँगा। –

उत्तर

1

मैं वही कर रहा हूं। सामान्य कार्यक्षमता निकालें, अतिरिक्त दस्तावेज और यूनिट परीक्षण/सिद्धांतों के साथ कोड को सुंदर बनाएं, एक easy_install setup.py बनाएं, और फिर पीपीपीआई पर रिलीज़ करें। हाल ही में, मैंने एक एकल Google Code site बनाया जहां मैं स्रोत का प्रबंधन करता हूं और विकी को अद्यतित रखता हूं।

1

हम किस प्रकार के मॉड्यूल के बारे में बात कर रहे हैं? यदि आप अपनी परियोजनाओं को अन्य पायथन डेवलपर्स को वितरित करने की योजना बना रहे हैं, तो setuptools बहुत अच्छा है। लेकिन आमतौर पर उपयोगकर्ताओं को अंत में ऐप्स वितरित करने का यह एक अच्छा तरीका नहीं है। बाद के मामले में आपकी सबसे अच्छी शर्त है कि आप अपने पैकेजिंग को उन प्लेटफ़ॉर्म पर तैयार करें जिन्हें आप वितरित कर रहे हैं। निश्चित रूप से, यह एक दर्द है, लेकिन यह अंतिम उपयोगकर्ताओं के लिए जीवन को आसान बनाता है।

उदाहरण के लिए, मेरे डेबियन सिस्टम में, मैं आमतौर पर easy_install का उपयोग नहीं करता क्योंकि यह पैकेज प्रबंधक के साथ अच्छी तरह से काम करने के लिए अंडे प्राप्त करना थोड़ा मुश्किल है। ओएस एक्स और विंडोज़ में, आप शायद क्रमशः py2app और py2exe का उपयोग करके सब कुछ पैकेज करना चाहते हैं। यह अंतिम उपयोगकर्ता के लिए बेहतर जीवन बनाता है। आखिरकार, उन्हें पता नहीं होना चाहिए कि आपकी स्क्रिप्ट किस भाषा में लिखी गई हैं। उन्हें बस उन्हें स्थापित करने की आवश्यकता है।

+0

मैं मुख्य रूप से अपने लिए पीईपीआई में अपनी सामग्री प्रकाशित करता हूं। अन्य डेवलपर्स या अंतिम उपयोगकर्ताओं के लिए इसकी उपयोगिता वास्तव में एक माध्यमिक चिंता है :) –

0

मैं इसे सभी लॉजिकल निर्देशिका संरचना में संग्रहीत करता हूं, आमतौर पर यूटिलिटीज के रूप में समूहित मॉड्यूल के साथ। इसका मतलब यह है कि मैं कौन से संस्करणों को प्रकाशित करता हूं, प्रबंधित करता हूं और प्रबंधित करता हूं। मैं तार्किक निर्देशिका संरचना की व्याख्या करने के लिए निर्माण प्रक्रिया को भी स्वचालित करता हूं।