Коротка відповідь полягає в тому, що, на мій досвід, як правило, не має значення, яким ви користуєтесь.
Довга відповідь:
Так 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
є каналом. Може, це було правдою, коли задавали це питання?