python - पाइप और कोंडा के बीच क्या अंतर है?




pip ipython (6)

क्या मैं आईपीथन स्थापित करने के लिए पीआईपी का उपयोग कर सकता हूं?

निश्चित रूप से, दोनों (पृष्ठ पर पहला दृष्टिकोण)

pip install ipython

और (तीसरा दृष्टिकोण, दूसरा conda )

आप गिटहब या पीईपीआई से मैन्युअल रूप से आईपीथन डाउनलोड कर सकते हैं। इन संस्करणों में से किसी एक को स्थापित करने के लिए, इसे अनपैक करें और टर्मिनल का उपयोग करके शीर्ष-स्तरीय स्रोत निर्देशिका से निम्न चलाएं:

pip install .

स्थापित करने के लिए आधिकारिक तौर पर अनुशंसित तरीके हैं

जब मुझे पहले से ही पाइप हो तो मुझे क्यूडा का उपयोग अन्य पायथन पैकेज मैनेजर के रूप में क्यों करना चाहिए?

जैसा कि here कहा गया here :

यदि आपको एक विशिष्ट पैकेज की आवश्यकता है, शायद केवल एक परियोजना के लिए, या यदि आपको किसी और के साथ परियोजना साझा करने की आवश्यकता है, तो कोंडा अधिक उपयुक्त लगता है।

कोंडा में पाइप पार हो गया ( YMMV )

  • परियोजनाएं जो गैर-अजगर उपकरण का उपयोग करती हैं
  • सहकर्मियों के साथ साझा करना
  • संस्करणों के बीच स्विचिंग
  • विभिन्न पुस्तकालय संस्करणों के साथ परियोजनाओं के बीच स्विचिंग

पाइप और कोंडा के बीच क्या अंतर है?

इसका व्यापक रूप से उत्तर दिया जाता है।

मुझे पता है कि pip पायथन पैकेज के लिए एक पैकेज मैनेजर है। हालांकि, मैंने conda स्थापित करने के लिए conda की वेबसाइट उपयोग conda पर स्थापना देखी।

क्या मैं आईपीथॉन स्थापित करने के लिए pip का उपयोग कर सकता हूं? जब मुझे पहले से ही pip हो तो मुझे conda उपयोग अन्य पायथन पैकेज मैनेजर के रूप में क्यों करना चाहिए?

pip और conda बीच क्या अंतर है?


अन्य उत्तरों विवरण का एक उचित विवरण देते हैं, लेकिन मैं कुछ उच्च स्तरीय बिंदुओं को हाइलाइट करना चाहता हूं।

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

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

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

संस्करण प्रबंधन के लिए, पीपी आपको एकाधिक पायथन वातावरण के बीच स्विच करने और प्रबंधित करने की अनुमति देता है।

कोंडा आपको कई सामान्य उद्देश्यों के वातावरण के बीच स्विच करने और प्रबंधित करने की अनुमति देता है, जिसमें कई अन्य चीजें संस्करण संख्या में भिन्न हो सकती हैं, जैसे सी-पुस्तकालय, या कंपाइलर, या टेस्ट-सूट, या डेटाबेस इंजन आदि।

कोंडा विंडोज-केंद्रित नहीं है, लेकिन विंडोज़ पर यह अब तक का सबसे अच्छा समाधान है जब संकल्प की आवश्यकता वाले जटिल वैज्ञानिक पैकेजों को स्थापित और प्रबंधित करने की आवश्यकता होती है।

मैं रोना चाहता हूं जब मैं सोचता हूं कि विंडोज़ पर पाइप के माध्यम से इनमें से कई पैकेजों को संकलित करने की कोशिश में कितना समय गुम हो गया है, या संकलन की आवश्यकता होने पर असफल pip install सत्र डीबग करना है।

एक अंतिम बिंदु के रूप में, निरंतर पैकेज डेवलपर्स नियमित रूप से पैकेज डेवलपर्स को अपना स्वयं का कस्टम (निर्मित!) सॉफ़्टवेयर स्टैक बनाने की अनुमति देने के लिए repo.continuum.io Analytics (फ्री) binstar.org (जिसे अब repo.continuum.io कहा जाता है) होस्ट करता है कि उनके पैकेज-उपयोगकर्ता conda install करने में सक्षम conda install


निरंतर वेबसाइट पर डेटा विज्ञान लेख के लिए कोंडा से उद्धरण:

कोंडा बनाम पाइप

पाइथन प्रोग्रामर शायद पीपीपीआई से पैकेज डाउनलोड करने और उनकी आवश्यकताओं को प्रबंधित करने के लिए पीपी से परिचित हैं। हालांकि, दोनों कोंडा और पीपी पैकेज प्रबंधक हैं, वे बहुत अलग हैं:

  • पाइप पायथन पैकेज के लिए विशिष्ट है और कोंडा भाषा-अज्ञेयवादी है, जिसका अर्थ है कि हम किसी भी भाषा से संकुल का प्रबंधन करने के लिए कोंडा का उपयोग कर सकते हैं स्रोत से पिप संकलन और कोंडा द्विआधारी स्थापित करता है, संकलन के बोझ को हटाता है
  • कोंडा भाषा-अज्ञेय वातावरण को मूल रूप से बनाता है जबकि पाइप केवल पायथन वातावरण का प्रबंधन करने के लिए वर्चुअलएन्व पर निर्भर करता है हालांकि यह हमेशा कोंडा पैकेज का उपयोग करने की अनुशंसा की जाती है, कोंडा में भी पाइप शामिल है, इसलिए आपको दोनों के बीच चयन करने की आवश्यकता नहीं है। उदाहरण के लिए, एक पायथन पैकेज स्थापित करने के लिए जिसमें कोंडा पैकेज नहीं है, लेकिन पाइप के माध्यम से उपलब्ध है, बस चलाएं, उदाहरण के लिए:
conda install pip
pip install gensim

यहां एक छोटा सा रैंड डाउन है:

रंज

  • केवल पायथन पैकेज।
  • स्रोत से सब कुछ संकलित करता है। संपादित करें: यदि वे उपलब्ध हैं तो पाइप अब द्विआधारी पहियों को स्थापित करता है।
  • कोर पायथन समुदाय द्वारा धन्य (यानी, पायथन 3.4+ में कोड शामिल है जो स्वचालित रूप से पीपी को बढ़ावा देता है)।

conda

  • पायथन अज्ञेयवादी। मौजूदा पैकेज का मुख्य फोकस पायथन के लिए है, और वास्तव में कोंडा खुद पाइथन में लिखा गया है, लेकिन आप सी पुस्तकालयों, या आर पैकेज, या वास्तव में कुछ भी के लिए कोंडा पैकेज भी प्राप्त कर सकते हैं।
  • द्विआधारी स्थापित करता है। conda build नामक एक उपकरण है जो स्रोत से संकुल बनाता है, लेकिन conda install स्वयं ही पहले से निर्मित कोंडा पैकेज से चीजों को स्थापित करता है।
  • बाहरी। कोंडा एनाकोंडा का पैकेज मैनेजर है, जो कि कंटिन्यूम एनालिटिक्स द्वारा प्रदान किए गए पायथन वितरण है, लेकिन इसका उपयोग एनाकोंडा के बाहर भी किया जा सकता है। आप इसे पीआईपी द्वारा मौजूदा पायथन इंस्टॉलेशन के साथ उपयोग कर सकते हैं (हालांकि यह तब तक अनुशंसित नहीं है जब तक कि आपके पास मौजूदा स्थापना का उपयोग करने का कोई अच्छा कारण न हो)।

दोनों मामलों में:

  • पायथन में लिखा है
  • ओपन सोर्स (कोंडा बीएसडी और पीआईपी एमआईटी है)

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

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


कोंडा ब्लॉग से उद्धरण:

इतने लंबे समय तक पाइथन दुनिया में शामिल होने के बाद, हम सभी को पाइप, easy_install, और virtualenv के बारे में पता है, लेकिन ये उपकरण हमारी सभी विशिष्ट आवश्यकताओं को पूरा नहीं करते हैं। मुख्य समस्या यह है कि वे पाइथन के आसपास केंद्रित हैं, गैर-पायथन लाइब्रेरी निर्भरताओं, जैसे एचडीएफ 5, एमकेएल, एलएलवीएम, इत्यादि की उपेक्षा करते हैं, जिनके पास उनके स्रोत कोड में setup.py नहीं है और पाइथन की साइट में फ़ाइलों को भी इंस्टॉल नहीं करते हैं पैकेज निर्देशिका

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

इस प्रकार, कोंडा की तुलना शायद Buildout की जानी चाहिए, एक अन्य टूल जो आपको पाइथन और गैर-पायथन इंस्टॉलेशन कार्यों दोनों को संभालने देता है।

चूंकि कोंडा एक नया पैकेजिंग प्रारूप पेश करता है, इसलिए आप pip और कोंडा का एक-दूसरे का उपयोग नहीं कर सकते हैं; pip कोंडा पैकेज प्रारूप स्थापित नहीं कर सकता है। आप दोनों टूल्स को एक तरफ इस्तेमाल कर सकते हैं लेकिन वे या तो इंटरऑपरेट नहीं करते हैं।


pip केवल पायथन के लिए है

conda केवल एनाकोंडा + अन्य वैज्ञानिक पैकेज जैसे आर निर्भरता इत्यादि के लिए है। सभी को एनाकोंडा की आवश्यकता नहीं है जो पहले से ही पाइथन के साथ आता है। एनाकोंडा ज्यादातर उन लोगों के लिए है जो मशीन लर्निंग / गहरी लर्निंग आदि करते हैं। आरामदायक पाइथन देव अपने लैपटॉप पर एनाकोंडा नहीं चलाएगा।





conda