Коротка відповідь полягає в тому, що, на мій досвід, як правило, не має значення, яким ви користуєтесь.
Довга відповідь:
Так conda-forgeє додатковий канал, з якого можуть бути встановлені пакети. У цьому сенсі це не більш спеціальний канал за замовчуванням або будь-який із інших сотень (тисяч?) Каналів, на які люди розміщували пакунки. Ви можете додати свій власний канал, якщо зареєструєтесь на https://anaconda.org та завантажите власні пакети Conda.
Тут нам потрібно зробити відмінність, яку, на мою думку, вам не зрозуміло з вашого фразування у питанні між conda, міжплатформеним менеджером conda-forgeпакунків та каналом пакету. Anaconda Inc. (раніше Continuum IO), основні розробники 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каналу, який підтримує Anaconda:
- Пакети на,
conda-forge можливо, є більш сучасними, ніж пакети на defaultsканалі
- На
conda-forgeканалі є пакети, від яких недоступніdefaults
- Ви вважаєте за краще використовувати залежність, таку як
openblas(від conda-forge), а не від mkl(від defaults).
- Якщо ви встановлюєте пакет, для якого потрібна складена бібліотека (наприклад, розширення C або обгортка навколо бібліотеки С), це може зменшити ймовірність несумісності, якщо встановити всі пакунки в середовищі з одного каналу через двійковий сумісність базової бібліотеки С (але ця порада може бути застарілою / змінитися в майбутньому).
condaє менеджером пакетів іconda-forgeє каналом. Може, це було правдою, коли задавали це питання?