Qual é a comparação entre conda vs pip vs anaconda?
Hi,
Você colocou 3 coisas diferentes, embora facilmente confundidas.
- Pip = gerenciador de pacotes python>li>Conda = gerenciador de pacotes binários contínuos (voltaremos a isto)>li>Anaconda
No reverso:
p>Anaconda:Anaconda é uma distribuição contínua de python. É um conjunto de pacotes que foram construídos para funcionar em múltiplos SOs e ajudar as pessoas a não terem que se preocupar com o ambiente ou com diferentes internos para arregaçar as mangas e começar a trabalhar. Se isto é verdade, está em debate. Pessoalmente, eu prefiro manter o mais próximo possível da língua nativa.
Anaconda usa conda (acredito) para instalar pacotes que podem ser usados.
Important: Não é um gerenciador de pacotes, é uma distribuição de pacotes python.
Conda & Pip:
Este é o gerenciador de pacotes. Ele é usado para instalar pacotes no anaconda (novamente, acredito) e nos ambientes miniconda*. Pip é o gerenciador de pacotes Defacto python. Ele tem um monte de recursos ótimos, pois o trabalho nele foi muito longo nos últimos anos, como instalar em um venv diretamente do github e outras funcionalidades realmente fáceis de usar. Ele não compete diretamente com o pip por algumas razões.
- Pip está instalado ou pode ser facilmente instalado (dependendo do seu arquivo env) em seu ambiente conda
- Pip lida apenas com pacotes Python. Conda é todo pacote binário. Você pode fazer Java, C++, Go, o que você quiser (embora o Java provavelmente seria manipulado com Maven)
- Conda permite que você construa seus próprios pacotes binários e lide com os passos pré e pós cozidos através de arquivos de configuração yaml. (Eu não sei se o Pip permite isso, eu não vi nenhum tipo de funcionalidade. Eu sei que o virtualenvwrapper tem ganchos de post, mas eu acho que é por volta da hora de ativação)
Não faço justiça, mas este é um ótimo artigo sobre alguns mitos que são esclarecidos (este não sou eu):
Conda: Mitos e conceitos errados
Dito isso, se você está procurando usar apenas componentes Python, eu iria com o Pip. Eu sou novo na Conda, mas não acho tudo isso tão intuitivo ou fácil de usar. Eu acho o Pip muito mais limpo. Ambos têm os mesmos problemas com resolução de dependência na minha opinião.
TL;DR
São todos coisas diferentes.
conda = pip + virtualenv não é verdade