Eu estou querendo saber qual é a diferença entre pip, o instalador de pacotes Python e yum?
Como forma de fornecer algum contexto à minha pergunta :
Suponho que a primeira resposta seja porque o PIP é apenas para instalar pacotes Python e o yum instala pacotes de diferentes tipos de fornecedores. Mas vamos focar na instalação de pacotes Python usando as duas ferramentas como forma de identificar a diferença entre ambas:
Eu tive um problema no trabalho (usando CentOS6) onde o Django era uma dependência ausente para um rpm que eu estava tentando instalar. Eu pensei que a correção correta era 'pip install Django'. No entanto, quando fiz isso e tentei novamente o 'rpm -i', a dependência do Django ainda foi relatada como ausente.
Um colega muito mais experiente me disse que o que eu estava fazendo estava errado e eu precisava desinstalar isso e instalar apenas usando o yum. Por experiência, sei que ele não é de elaborar as coisas e, depois de pesquisar um pouco, ainda estou no escuro.
Não consigo entender por que há uma diferença, se ambos instalam o mesmo pacote, como um funciona como meio de satisfazer a dependência necessária e o outro (pip) não.
Estendendo a excelente resposta @ dr01 sobre
yum
vspip
:Com
yum
normalmente todos os pacotes oficiais instalados pela distribuição são atualizados em uma única operação. Além disso, o sistema fará um trabalho melhor ao obter dependências que não entram em conflito com pacotes já instalados e com pacotes que foram testados pelos mantenedores da distribuição.Usando
pip
o , principalmente se não tiver tanta experiência no que está fazendo, é mais fácil dar um tiro no pé, e acabar configurando (ou não configurando as coisas) conforme o desejado e/ou errando as dependências. Além disso, dependendo de sua configuração, pode haverpip
comandos diferentes que mapeiam para diferentes versõespython
que você pode ter instalado.Ao fazer atualizações de segurança, você também terá que se lembrar de atualizar as coisas instaladas com
pip
o , e isso traz complexidade indesejada aos procedimentos de administração do sistema.Resumindo, a menos que você precise de uma versão especial de uma biblioteca python e/ou não consiga encontrá-la nos repositórios de distribuição, usar
yum
em vez depip
é um bom conselho.Yum é o gerenciador de pacotes para o sistema operacional (CentOS/RedHat). Isso é o que você usa para instalar, atualizar ou remover software em seu computador.
Pip é um gerenciador de pacotes exclusivamente para software escrito em Python. Você precisa usá-lo apenas se estiver trabalhando de perto com Python, por exemplo, usando uma ferramenta Python ou desenvolvendo programas em Python.