2010-06-16 11 views
5

बाघ पर, मैंने नए संस्करणों का मूल्यांकन करने के लिए एक कस्टम पायथन स्थापना का उपयोग किया और मुझे * के साथ कोई समस्या नहीं थी। अब Snow Leopard है थोड़ा और अधिक अप करने की तारीख औरमैक ओएस एक्स पर, क्या आप शिप किए गए पायथन या स्वयं का उपयोग करते हैं?

$ ls /System/Library/Frameworks/Python.framework/Versions/ 
2.3 2.5 2.6 @Current 

  • क्या सबसे अच्छा अभ्यास माना जा सकता है के साथ डिफ़ॉल्ट जहाजों द्वारा? $HOME में मैक ओएस एक्स या एक कस्टम संकलित संस्करण के साथ भेजे गए अजगर का उपयोग करना।
  • क्या दूसरे पर एक विकल्प का उपयोग करके कोई फायदे/नुकसान हैं?

मेरे सेटअप अब तक काफी सरल था और इस तरह से देखा: कस्टम $HOME में अजगर संकलित और एक $PATH कि $HOME/bin पहले इस पर गौर करेंगे, और बाद में मेरी निजी अजगर संस्करण का प्रयोग करेंगे। $PYTHONPATH ने भी इस स्थानीय स्थापना की ओर इशारा किया। इस तरह, मुझे sudo -install संकुल की आवश्यकता नहीं थी - वर्चुअलनेव ने बाकी की देखभाल की। नोट: मुझे यह सेटअप पसंद आया, इसलिए मैं सिर्फ उत्सुक हूं और सोचा कि मैं हाइव दिमाग पूछता हूं।

उत्तर

5

मुझे लगता है कि यह आपकी आवश्यकताओं पर निर्भर करता है। व्यक्तिगत रूप से, मै मैकपोर्ट्स से किसी भी श्रृंखला (2.5, 2.6, आदि) के लिए नवीनतम संस्करण का उपयोग करता हूं।

+2

मैकपोर्ट्स के लिए +1 – systempuntoout

0

आप अपनी मशीन पर जो भी करते हैं वह पूरी तरह से आपके ऊपर है। यदि आप अन्य लोगों के लिए अपना कोड तैनात करने जा रहे हैं, तो मैं कहूंगा कि शिप किए गए संस्करण का उपयोग करना स्पष्ट रूप से बेहतर है जब तक कि आप वास्तव में को नए संस्करण की आवश्यकता नहीं है।

+1

मैं असहमत हूं। अधिकांश पैक किए गए पायथन सॉफ़्टवेयर पैकेज के अंदर अजगर जहाज भेजते हैं, और यह करने का सही तरीका है। भगवान जानता है कि उपयोगकर्ता अपनी मशीन पर क्या स्थापित करता है। – unbeli

+1

@unbeli यदि आप एक पर्याप्त आवेदन वितरित कर रहे हैं, तो ठीक है। लेकिन कुछ स्क्रिप्ट के लिए? वास्तव में मशीन की ज़रूरत वाले कितने पायथन दुभाषिया हैं, वैसे भी? और अधिक आम तौर पर, यह आधारभूत वातावरण के लिए कोड * नहीं * कैसे समझता है यदि सब कुछ बराबर है? – walkytalky

+2

खैर, स्क्रिप्ट वास्तव में "तैनात नहीं" हैं, इसलिए पाइथन को बंडल करने का कोई तरीका नहीं है। ऐसी कोई आधार रेखा नहीं है जिस पर आप भरोसा कर सकते हैं। मुझे पता है कि यह बेकार है, लेकिन यह जीवन है, किसी ने भी वादा नहीं किया है कि यह चूसने वाला नहीं है;) – unbeli

1

आपके ओएस के साथ भेजे गए पायथन संस्करण का उपयोग करने में समस्या यह है कि इसमें बग हो सकती है, या अन्य तरीकों से सीमित हो सकती है। यदि आप फिंक या मैकपॉर्ट्स से पायथन स्थापित करते हैं, तो आपको इसे अपडेट करने की स्वतंत्रता है।

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

2

मैं इसे स्वयं संकलित करता हूं क्योंकि यह मुझे नवीनतम 64-बिट संस्करण देता है। आधिकारिक ओएस एक्स बनाता है केवल 32-बिट लगता है। मैंने कई महीने पहले मैकपॉर्ट्स को गिरा दिया क्योंकि इसकी निर्भरता प्रणाली और इसके पुराने पुराने पैकेज बहुत परेशान थे।

0

मैं इस पुराने विषय को खोद रहा हूं।

स्रोत और बंडल से अपना खुद का पायथन डिस्ट्रो/फ्रेमवर्क बनाने और इसे सही तरीके से पैकेज करने के लिए कोई वास्तविक जवाब नहीं हैं। मैंने इसे स्रोत से संकलित करने की कोशिश की, इसे मेरे सी प्रोग्राम किए गए एप्लिकेशन के खिलाफ लिंक करना जो पायथन 3 का उपयोग करता है और मेरे कंप्यूटर पर काम करता है। लेकिन जब मैं इसे फाइल सिस्टम (जैसे/tmp) के चारों ओर ले जाता हूं, तो इसमें पाइथन संकलन में हार्डकोडेड पथ होते हैं। और मेरे पास कोई सुराग नहीं है कि स्क्रिप्ट/रैपर बनाने के लिए।

मेरा खुद का पायथन डिस्ट्रो जहाज करने का मेरा बिंदु यह सुनिश्चित करना है कि एप्लिकेशन शिपिंग करते समय इंटरपेटर परिवर्तन में कोई अजीबता न हो और ओएस पायथन इंस्टॉल पर भरोसा न करें।

यह कहीं भी पाइथन दस्तावेज़ों पर प्रलेखित नहीं है।

मुझे पहले से ही यह पोस्ट 4206511