संक्षिप्त उत्तर यह है कि, मेरे अनुभव में आमतौर पर, यह कोई फर्क नहीं पड़ता कि आप किसका उपयोग करते हैं।
लंबे उत्तर:
तो conda-forge
एक अतिरिक्त चैनल है जिसमें से पैकेज स्थापित किए जा सकते हैं। इस अर्थ में, यह डिफ़ॉल्ट चैनल या किसी भी अन्य सैकड़ों (हजारों?) चैनलों में से कोई भी विशेष नहीं है, जिनके लिए लोगों ने पैकेज बनाए हैं। यदि आप https://anaconda.org पर साइन अप करते हैं और अपना कॉनडा पैकेज अपलोड करते हैं तो आप अपना चैनल जोड़ सकते हैं ।
यहाँ हमें भेद करने की आवश्यकता है, जो मुझे लगता है कि आप इस प्रश्न के बारे में अपने वाक्यांशों के बारे में स्पष्ट नहीं हैं, बीच में conda
, क्रॉस-प्लेटफॉर्म पैकेज मैनेजर और conda-forge
, पैकेज चैनल। एनाकोंडा इंक (पूर्व में कॉन्टिनम आईओ), conda
सॉफ्टवेयर के मुख्य डेवलपर्स , पैकेजों के एक अलग चैनल को भी बनाए रखते हैं, जो कि डिफ़ॉल्ट होता है जब आप conda install packagename
कोई विकल्प बदले बिना टाइप करते हैं।
चैनलों के लिए विकल्पों को बदलने के तीन तरीके हैं। पहले दो हर बार जब आप एक पैकेज स्थापित करते हैं और अंतिम एक लगातार होता है। किसी पैकेज को स्थापित करने पर हर बार एक चैनल निर्दिष्ट करने के लिए पहला है:
conda install -c some-channel packagename
बेशक, पैकेज का उस चैनल पर अस्तित्व है। यह तरीका स्थापित होगा packagename
और इसकी सभी निर्भरताएँ some-channel
। वैकल्पिक रूप से, आप निर्दिष्ट कर सकते हैं:
conda install some-channel::packagename
पैकेज अभी भी मौजूद है some-channel
, लेकिन अब, केवल packagename
से खींच लिया जाएगा some-channel
। निर्भरता को पूरा करने के लिए जिन अन्य पैकेजों की आवश्यकता होती है, उन्हें आपके चैनल की डिफ़ॉल्ट सूची से खोजा जाएगा।
अपने चैनल कॉन्फ़िगरेशन को देखने के लिए, आप लिख सकते हैं:
conda config --show channels
आप उस आदेश को नियंत्रित कर सकते हैं जिसके साथ चैनल खोजे जाते हैं conda config
। तुम लिख सकते हो:
conda config --add channels some-channel
कॉन्फ़िगरेशन सूची some-channel
के शीर्ष पर चैनल जोड़ने के channels
लिए। यह some-channel
सर्वोच्च प्राथमिकता देता है। प्राथमिकता निर्धारित करता है ( भाग में ) किस चैनल का चयन किया जाता है जब एक से अधिक चैनल में एक विशेष पैकेज होता है। सूची के अंत में चैनल जोड़ने के लिए और इसे सबसे कम प्राथमिकता दें, टाइप करें
conda config --append channels some-channel
यदि आप अपने द्वारा जोड़े गए चैनल को हटाना चाहते हैं, तो आप ऐसा करके लिख सकते हैं
conda config --remove channels some-channel
देख
conda config -h
अधिक विकल्पों के लिए।
एनाकोंडा द्वारा बनाए गए conda-forge
चैनल के बजाय चैनल का उपयोग करने के चार मुख्य कारण हैं defaults
:
- चैनल पर उन लोगों की तुलना में पैकेज अधिक अद्यतित
conda-forge
हो सकते हैंdefaults
conda-forge
चैनल पर ऐसे पैकेज हैं जो उपलब्ध नहीं हैंdefaults
- आप इस तरह के रूप में एक निर्भरता का उपयोग करना पसंद करेंगे
openblas
(से conda-forge
) के बजाय mkl
(से defaults
)।
- यदि आप एक पैकेज स्थापित कर रहे हैं जिसके लिए एक संकलित पुस्तकालय (उदाहरण के लिए, C एक्सटेंशन या C लाइब्रेरी के चारों ओर एक आवरण) की आवश्यकता है, तो यह असंगतता की संभावना को कम कर सकता है यदि आप किसी एकल चैनल से बाइनरी के कारण एक वातावरण में सभी पैकेज स्थापित करते हैं आधार सी लाइब्रेरी की अनुकूलता (लेकिन यह सलाह भविष्य में पुरानी / परिवर्तन से बाहर हो सकती है)।
conda
एक पैकेज मैनेजर है औरconda-forge
एक चैनल है। शायद यह सच था जब यह सवाल पूछा गया था?