Ответ 1
Короткий ответ: по моему опыту, в общем, не имеет значения, какой вы используете.
Длинный ответ:
Таким образом, conda-forge
- это дополнительный канал, с которого можно устанавливать пакеты. В этом смысле он не более особенный, чем канал по умолчанию или любой другой из сотен (тысяч?) Каналов, на которые люди отправляли пакеты. Вы можете добавить свой собственный канал, если зарегистрируетесь на https://anaconda.org и загрузите свои собственные пакеты Conda.
Здесь мы должны провести различие, которое, как мне кажется, вам не совсем понятно из формулировки вопроса, между conda
, кроссплатформенным менеджером пакетов, и conda-forge
, каналом пакетов. Anaconda Inc. (ранее Continuum IO), основные разработчики программного обеспечения conda
, также поддерживают отдельный канал пакетов, который используется по умолчанию при conda install packagename
без изменения каких-либо параметров.
Есть два способа изменить параметры каналов. Один из них - указывать канал каждый раз, когда вы устанавливаете пакет:
conda install -c some-channel packagename
Конечно, пакет должен существовать на этом канале. Если вы часто используете один и тот же канал, возможно, вы захотите добавить его в свою конфигурацию. Ты можешь написать
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 или оболочка вокруг библиотеки C), это может снизить вероятность несовместимости, если вы устанавливаете все пакеты в среде из одного канала из-за двоичного кода. совместимость базовой библиотеки C (но этот совет может устареть/измениться в будущем).