2012-02-09 14 views
6

मैं मूल मैक ओएस एक्स पैकेज इंस्टॉलर बनाना चाहता हूं, पैकेज का निर्माण वास्तव में समस्या नहीं है, असली सौदा निर्भरता है जो प्राप्त करना है स्थापित; मुझे पायथन, न्यूपी और मैटलप्लिब स्थापित करने की आवश्यकता है (केवल तभी जब आवश्यक संस्करण पहले से इंस्टॉल नहीं हैं)।ओएस एक्स में पैकेज इंस्टॉलर बनाना - पाइथन, न्यूमपी और अन्य निर्भरताओं को स्थापित करें

मैंने पैकेज निर्माता ऐप के बारे में वास्तव में बुरी चीजें सुनी हैं, मैं थोड़ा पढ़ रहा हूं और पहले से ही एक अच्छा ट्यूटोरियल भी पाया है हालांकि यह काफी outdated है। एक संदर्भ के रूप में, यहां ऐप्पल का संदर्भ guide है।

मुझे कल्पना है कि मुझे इन तीनों परियोजनाओं में से प्रत्येक से प्रदान किए गए असंगत स्रोत का उपयोग करना होगा।

यह वास्तव में मुझे पैकेजमेकर फ़ाइल देखने में मदद करेगा जो आधिकारिक पायथन इंस्टॉलर बनाने के लिए उपयोग किया जाता है, अगर ऐसी फ़ाइल कहीं भी उपलब्ध है, तो कृपया मुझे इंगित करें।

वैसे भी:

क्या यह करने के लिए सबसे अच्छा तरीका क्या होगा? इस उद्देश्य के लिए एक पैकेजमेकर मूर्खतापूर्ण उपयोग कर रहा है? कोई अन्य साहित्य जो मेरी मदद करेगा?

अतिरिक्त:

क्या मेरी संस्थापक जाँचने का सबसे अच्छा तरीका क्या होगा?

+0

ओएस एक्स में पहले से ही पाइथन है, इसलिए 'वर्चुअल' + 'पाइप इंस्टॉल' कॉम्बो को 'खोल स्क्रिप्ट' के साथ लपेटकर देखें। –

+1

पाइथन जो मैक ओएस एक्स के साथ जहाज़ मैटलप्लिब के साथ काम नहीं करेगा, आपको Python.org से एक नया इंस्टॉल करना होगा।वैसे भी, मैं उन दो विकल्पों की जांच करूंगा। –

+0

मैंने इसका उल्लेख किया है, क्योंकि, यदि आपके पास पहले से ही कोई पाइथन डिफ़ॉल्ट रूप से है, तो आप आसानी से वर्चुअलएनवी, पीआईपी और स्थापित करने के लिए 'install.sh' लिख सकते हैं। अरे रुको। आप डिफ़ॉल्ट पायथन के बिना भी ऐसा कर सकते हैं। –

उत्तर

3

मुझे लगता है कि आप जिन पैकेजों का उल्लेख किया है उन्हें स्थापित करना चाहते हैं क्योंकि आप पाइथन एप्लिकेशन विकसित कर रहे हैं। क्या आपने PyInstaller देखा है? यह "विंडोज़, लिनक्स, मैक ओएस एक्स, सोलारिस और एईक्स के तहत, पाइथन प्रोग्राम को स्टैंड-अलोन एक्जिक्यूटिव में परिवर्तित करता है", इसलिए आपको लक्ष्य प्रणाली पर जो इंस्टॉल किया गया है, उसके बारे में चिंता करने की ज़रूरत नहीं है।

और यदि आप PyInstaller का उपयोग करते हैं, तो "अतिरिक्त" आसान होगा। बस परिणामस्वरूप निष्पादन योग्य किसी भी अन्य मशीन पर प्रतिलिपि बनाएँ और इसे निष्पादित करके इसका परीक्षण करें।

+0

हालांकि यह एक समाधान है (मैं 100% निश्चित नहीं हूं), विकासशील अल के लिए हमारे लोगों के बारे में सब कुछ स्थापित करना है, और वे आमतौर पर सब कुछ स्थापित करने में बहुत समय बर्बाद करते हैं, यही कारण है कि मुझे एक इंस्टॉलर बनाने की आवश्यकता है और यदि कुछ कोड संपादित करने या हटाने के लिए कुछ कोड है। यह विकास के लिए नहीं, वितरण के लिए एक समाधान है। सुझाव माइकल के लिए धन्यवाद। –

2

/tmp/install.sh तरह:

cd ~ 
curl -C - -O http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.7.tar.gz 

tar -xzf virtualenv-1.7.tar.gz 
cd ./virtualenv-1.7 
python setup.py install 

cd ~ 
rm virtualenv-1.7.tar.gz 
rm -rd ./virtualenv-1.7 

virtualenv myenvfolder 
source myenvfolder/bin/activate 
easy_install pip 

pip install NumPy 
pip install Matplotlib 

और फिर:

chmod +x /tmp/install.sh; 
/tmp/install.sh 
+0

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

1

शायद तुम macports binary-packages या binary-archives उपयोग कर सकते हैं? और शायद fabric or puppetPuppet on OSX

मैकपोर्ट्स उपयोग करने के लिए उपयुक्त हैं और सभी निर्भरताओं का ख्याल रखता है। डिफ़ॉल्ट मैकपोर्ट्स द्वारा/opt/local में इंस्टॉल किया जाता है, इसलिए इंस्टॉल सेब इंस्टॉल में हस्तक्षेप नहीं होता है। डिफ़ॉल्ट से संकलन करना डिफ़ॉल्ट है। कुछ पैकेज बड़े होते हैं और बहुत सारी निर्भरताएं होती हैं इसलिए संकलन में बहुत समय लगता है और मशीन पर सभी सहारा लेते हैं। यदि आप बाइनरी-आर्काइव करते हैं तो आपको केवल पीआर मशीन आर्किटेक्चर/ओएसएक्स-संस्करण संकलित करना होगा। फिर आपको केवल मैकपोर्ट स्थापित करने और बाइनरी-अभिलेखागार के साथ एक शेयर स्थापित करने की आवश्यकता है। कपड़े या कठपुतली के साथ आप निर्माण और वितरण स्वचालित कर सकते हैं।

फिर यदि आप निकट भविष्य में पता लगाते हैं कि आपको पाइटेबल या numexpr की आवश्यकता है तो यह उतना सरल है: सुडो पोर्ट स्थापित py26-table और यदि अन्य लोगों को इसकी आवश्यकता है तो आप इसे बाइनरी-आर्काइव बना सकते हैं और इसे डाल सकते हैं शेयर पर

+0

मैक के पैकेज इंस्टॉलर की तुलना में ये बेहतर समाधान क्यों हैं? मैं नए समाधान के लिए खुला हूं। –

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