A diferença entre conda install e pip install.Comparação de funções, etc. [Python]
Até agora, o pip install só era reconhecido como um substituto quando o conda install não estava disponível.Se o pacote que eu queria não estava no repositório Anaconda, instalei-o com pip, e em um ponto o ambiente foi corrompido devido a esses conflitos.
O ambiente do Anaconda foi corrompido quando pensei que o Notebook Jupyter não iria iniciar
Por se tratar de uma grande oportunidade, investiguei a diferença entre pip e conda, por isso vou deixar como memorando a seguir.
Diferença entre conda e pip
O que é Conda
Em suma, é um gerenciador de pacotes que vem como padrão com o Anaconda / Miniconda e é um sistema de gerenciamento ambiental.
Anaconda é uma plataforma que fornece pacotes para ciência de dados (se você está vindo para descobrir a diferença entre conda e pip, você já sabe). Você pode instalar linguagens de programação para ciência de dados, como Python e R, e pacotes necessários para análise estatística e aprendizado de máquina de uma só vez, e pode criar imediatamente um ambiente que usa Python.
Também existe um Miniconda que possui a configuração mínima.
O conda só funciona quando instalado pelo instalador Anaconda ou pelo instalador miniconda. Mesmo se você instalar o conda no ambiente de python + pip, você não pode usá-lo como na distribuição do Anaconda.
O que é pip
Um instalador de pacote Python padrão e sistema de gerenciamento de pacote que vem com a instalação de Python puro.
Ele baixa e instala pacotes do Python Package Index (PyPI), um repositório para linguagens de programação Python.
Diferenças em cada função
As funções de conda e pip são resumidas em uma tabela simples.
Função | município | pip |
---|---|---|
Instalação e gerenciamento de pacotes | 可 | 可 |
Mudar de versão Python | 可 | Não é possível (substitua por pipenv, pyenv) |
Gestão de ambiente virtual | 可 | Não é possível (substitua por pipenv, virtualenv, venv) |
Como conda também é um sistema de gerenciamento de ambiente, você pode construir um ambiente virtual, mudar a versão do Python para 3.7 ou mudar para 2.7.
Com o pip, você instalará e usará pacotes como pyenv (controle de versão) e venv (gerenciamento de ambiente virtual).
Recentemente, pipenv foi lançado e parece que tem uma função que quase pode substituir o conda.
instalação conda e instalação pip
Os comandos para conda install e pip install são semelhantes, mas o mecanismo de instalação de pacotes parece ser bem diferente. Há uma tabela de comparação fácil de entender no site anaconda.com, então vou citá-la (em japonês e modificada para facilitar meu entendimento).
conda instalar | instalação de pip | |
---|---|---|
Formato do pacote | binário | roda ou fonte |
compilar | 不要 | 必要 |
Tipo de embalagem | Outros idiomas também são possíveis | apenas python |
Gerenciamento de ambiente virtual, gerenciamento de versão | Possível | Não é possível (substituir virtualenv, venv) |
Verificação de dependência | Sim | Nenhum |
Fonte de download do pacote | repositório anaconda, nuvem anaconda | PyPlName |
・ Conda oferece suporte a outras linguagens além de python
Anaconda / Miniconda é uma plataforma cruzada que permite instalar várias linguagens de programação, como Python, R, Ruby, Java, JavaScript, C / C ++, FORTRAN e seus pacotes.
O conda pode instalar pacotes de software escritos em vários idiomas em sua plataforma cruzada.
pip só pode ser instalado em pacotes Python.
-Se a compilação é necessária
Mais de 1000 pacotes que podem ser instalados com o comando conda são armazenados em um repositório dedicado chamado nuvem Anaconda.
Como esses pacotes são arquivos binários compilados, eles podem ser baixados e instalados sem a necessidade de um compilador.
Os arquivos que você instala com o pip contêm os arquivos de origem, que você precisará compilar no lado do cliente.
Isso pode causar problemas dependendo do ambiente e parece ser uma das causas que muitas vezes tropeça ao construir um ambiente.pode ser.Pode exigir dependências externas.
・ Se há verificação de dependência ou não
Parece que o pip não garante que todas as dependências sejam satisfeitas ao mesmo tempo cada vez que um pacote é instalado.Nesse caso, ocorrerão conflitos se os pacotes instalados tiverem versões diferentes dos pacotes dos quais dependem.
O conda suporta isso fornecendo um solucionador SAT que coleta metadados para todos os pacotes para entender as dependências.Ao instalar, compreenda rapidamente as dependências complexas entre os pacotes e execute as atualizações e instalações apropriadas.
・ Diferença na velocidade de execução
Também houve informação de que as operações matriciais com numpy instalado com conda são mais rápidas.Depende do tipo de cálculo, mas parece que a diferença é mais do que o dobro.
Existem vários métodos de implementação para BLAS (Basic Linear Algebra Subprograms) que realmente manipulam as operações de matriz chamadas por NumPy, e um deles é o Intel MKL (Math Kernel Library) desenvolvido pela Intel.).Na verdade, BLAS chamado de NumPy instalado por Anaconda é MKL, mas quando NumPy é instalado com pip, BLAS chamado OpenBLAS é normalmente usado, então existe a possibilidade de que haja uma diferença de desempenho aqui.
Diferença na velocidade do NumPy entre o NumPy do Anaconda e pip-Orizuru
BLAS é uma biblioteca que realiza cálculos básicos de matrizes e vetores. Há mais formigas vivas na biblioteca entorpecida e não tenho certeza ...
"O quanto a velocidade de processamento do cálculo realmente muda dependendo da diferença no BLAS" e "Como descobrir qual BLAS é usado em seu ambiente" estão resumidos em detalhes nas páginas a seguir.Por favor, refira-se se quiser.
Parece que a velocidade do cálculo muda dependendo do BLAS usado para Numpy [Python]
Essa é a diferença entre conda e pip.
参照
Compreendendo Conda e Pip
https://conda.io/en/latest/
Compare as velocidades do NumPy do Anaconda e do NumPy do PyPI
Pare de instalar o Tensorflow usando pip para melhorar o desempenho!
discussão
Lista de comentários
Ainda não há comentários