Conda
e conda-forge
são ambos gerenciadores de pacotes Python. Qual é a escolha apropriada quando existe um pacote nos dois repositórios? O Django, por exemplo, pode ser instalado com qualquer um dos dois, mas a diferença entre os dois é de várias dependências (o conda-forge tem muito mais). Não há explicação para essas diferenças, nem mesmo um simples README.
Qual deles deve ser usado? Conda ou conda-forja? Isso importa?
conda
é um gerenciador de pacotes econda-forge
é um canal. Talvez fosse verdade quando essa pergunta foi feita?Respostas:
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 econda-forge
o canal de pacotes. A Anaconda Inc. (anteriormente Continuum IO), os principais desenvolvedores doconda
software, também mantém um canal separado de pacotes, que é o padrão quando você digitaconda 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:
Obviamente, o pacote precisa existir nesse canal. Desta forma, instalará
packagename
e todas as suas dependências a partirsome-channel
. Como alternativa, você pode especificar:O pacote ainda precisa existir
some-channel
, mas agora, apenaspackagename
será retiradosome-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:
Você pode controlar a ordem em que os canais são pesquisados
conda config
. Você pode escrever:para adicionar o canal
some-channel
ao topo dachannels
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, digiteSe você deseja remover o canal que você adicionou, pode fazê-lo escrevendo
Vejo
para mais opções.
Com tudo isso dito, há quatro razões principais para usar o
conda-forge
canal em vez dodefaults
canal mantido pela Anaconda:conda-forge
podem estar mais atualizados do que os dodefaults
canalconda-forge
canal que não estão disponíveis emdefaults
openblas
(deconda-forge
) em vez demkl
(dedefaults
).fonte
conda install -c some-channel packagename
forma de escrever o comandomkl
mais rápido queopenblas
?A Anaconda alterou seus Termos de Serviço para que "usuários comerciais pesados" pagassem, o que não inclui o
conda-forge
canal.Você provavelmente iria querer
conda-forge
se não quiser pagar pelo uso. Conforme declarado nos documentos :Você também pode usar o miniforge, que tem
conda-forge
como canal padrão, e suporta as plataformas ppc64le e aarch64, bem como as outras usuais.fonte
O canal conda-forge é onde você pode encontrar pacotes que foram construídos para o conda, mas que ainda fazem parte da distribuição oficial do Anaconda.
Geralmente, você pode usar qualquer um deles.
fonte
Existem algumas bibliotecas Python que você não pode instalar com um simples,
conda install
pois o canal deles não está disponível, a menos que você aplique o conda-forge. Pela minha experiência, o pip é mais genérico para procurar em diferentes fontes de canal que o conda. Por exemplo, se você deseja instalar,python-constraint
pode fazê-lo viapip install
mas instalá-lo via ** cond **. você tem que especificar o canal -conda-forge
.mas não
fonte
conda update --all
não atualizarão o pacote instalado do pip