A resposta curta é que, na minha experiência geral, não importa qual você use.
A resposta longa:
Assim conda-forge
é um canal adicional a partir do qual os pacotes podem ser instalados. Nesse sentido, não é mais especial que o canal padrão ou qualquer outra centenas (milhares?) De canais nos quais as pessoas postaram pacotes. Você pode adicionar seu próprio canal se se inscrever em https://anaconda.org e enviar seus próprios pacotes Conda.
Aqui precisamos fazer a distinção, sobre a qual acho que você não está claro na sua formulação na pergunta entre conda
o gerenciador de pacotes de plataforma cruzada e conda-forge
o canal de pacotes. A Anaconda Inc. (anteriormente Continuum IO), os principais desenvolvedores do conda
software, também mantém um canal separado de pacotes, que é o padrão quando você digita conda install packagename
sem alterar nenhuma opção.
Existem três maneiras de alterar as opções de canais. Os dois primeiros são feitos toda vez que você instala um pacote e o último é persistente. O primeiro é especificar um canal toda vez que você instala um pacote:
conda install -c some-channel packagename
Obviamente, o pacote precisa existir nesse canal. Desta forma, instalará packagename
e todas as suas dependências a partir some-channel
. Como alternativa, você pode especificar:
conda install some-channel::packagename
O pacote ainda precisa existir some-channel
, mas agora, apenas packagename
será retirado some-channel
. Quaisquer outros pacotes necessários para satisfazer dependências serão pesquisados na sua lista padrão de canais.
Para ver a configuração do seu canal, você pode escrever:
conda config --show channels
Você pode controlar a ordem em que os canais são pesquisados conda config
. Você pode escrever:
conda config --add channels some-channel
para adicionar o canal some-channel
ao topo da channels
lista de configurações. Isso dá some-channel
a maior prioridade. A prioridade determina ( em parte ) qual canal será selecionado quando mais de um canal tiver um pacote específico. Para adicionar o canal ao final da lista e dar a menor prioridade, digite
conda config --append channels some-channel
Se você deseja remover o canal que você adicionou, pode fazê-lo escrevendo
conda config --remove channels some-channel
Vejo
conda config -h
para mais opções.
Com tudo isso dito, há quatro razões principais para usar o conda-forge
canal em vez do defaults
canal mantido pela Anaconda:
- Os pacotes
conda-forge
podem estar mais atualizados do que os do defaults
canal
- Existem pacotes no
conda-forge
canal que não estão disponíveis emdefaults
- Você prefere usar uma dependência como
openblas
(de conda-forge
) em vez de mkl
(de defaults
).
- Se você estiver instalando um pacote que requer uma biblioteca compilada (por exemplo, uma extensão C ou um wrapper em torno de uma biblioteca C), poderá reduzir a chance de incompatibilidades se você instalar todos os pacotes em um ambiente a partir de um único canal devido a problemas binários. compatibilidade da biblioteca C básica (mas este conselho pode estar desatualizado / alterado no futuro).
conda
é um gerenciador de pacotes econda-forge
é um canal. Talvez fosse verdade quando essa pergunta foi feita?