2012-07-16 12 views
6

मैं पीईपीआई के लिए एक पायथन वैज्ञानिक अनुप्रयोग पैकेज करना चाहता हूं। मेरी समस्या यह है कि यह पीईपीआई-स्तरीय डिप्टी (जैसे numpy, scipy, आदि) पर निर्भर करता है और साथ ही अन्य जिन्हें ओएस-लेवल पर निपटाया जाना चाहिए: wxPython और पायथन-वीटीके (उदाहरण के लिए उबंटू पर उपयुक्त, होमब्री पर ओएसएक्स, आदि)।पीईपीआई + ओएस-स्तरीय निर्भरताओं के साथ एक पायथन ऐप पैकेजिंग

मैं यह जानना चाहता हूं कि ऐसा करने के लिए आदर्श रणनीति क्या होगी, और विशेष रूप से, कौन सा पैकेजिंग सिस्टम सर्वोत्तम फिट होगा (मैं वर्तमान में वितरण का पक्ष ले रहा हूं)।

उत्तर

3

distributesetuptools का एक कांटा शायद बेहतर दस्तावेज़ीकरण के साथ है। आपके मूल रूप से distutils (stdlib) और setuptools आपके विकल्प के रूप में हैं। चूंकि distutils आपको निर्भरता निर्दिष्ट करने की अनुमति नहीं देता है, केवल setuptools शेष है।

आप आम तौर पर सभी निर्भरताओं को सूचीबद्ध करते हैं, और स्थापना प्रक्रिया को स्पष्ट रूप से दस्तावेज करते हैं (पीईपीआई को दिए गए लंबे_डिस्क्रिप्शन फ़ील्ड सहित)। ओएस-स्तरीय स्थापित पैकेज शामिल करें, अधिकांश वितरण में इन्हें इंस्टॉल करते समय अंडे की जानकारी शामिल होती है।

+0

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

+0

नहीं, क्षमा करें। न तो setuptools और न ही स्थापना उपकरण (पीआईपी, easy_install, zc.buildout) इसके लिए समर्थन प्रदान करते हैं। लेकिन, पीईपीआई पर उपलब्ध कई अंडों के लिए भी, आपको अभी भी ओएस-स्तरीय निर्भरताओं को स्थापित करने की आवश्यकता है; सीएक्सऑरेकल को ऑरैकल ड्राइवरों की आवश्यकता होती है, पीआईएल को libjpeg और ऐसे इत्यादि की आवश्यकता होती है। इसके अलावा, आपकी कुछ निर्भरता ओएस द्वारा सबसे अच्छी तरह से स्थापित की जाती है, लेकिन * अंडे के रूप में भी स्थापित किया जा सकता है। केवल उपकरण के साथ हल करने में यह एक कठिन समस्या है, इसलिए दस्तावेज जाने का बेहतर तरीका है। –

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