PyPI é o repositório de índices do Python Package of python modules.
pip é usado para baixar e instalar pacotes diretamente do PyPI. O PyPI é hospedado por Python Software Foundation . É um gerenciador de pacotes especializado que lida apenas com pacotes python.
apt-get é usado para baixar e instalar pacotes de repositórios do Ubuntu hospedados pela Canonical.
Algumas das diferenças entre a instalação de pacotes python de apt-get e pip são as seguintes:
-
A Canonical fornece apenas pacotes para módulos python selecionados. Considerando que, PyPI hospeda uma gama muito mais ampla de módulos python. Portanto, há muitos módulos python que você não poderá instalar usando
apt-get. -
A Canonical hospeda apenas uma única versão de qualquer pacote (geralmente o mais recente ou o lançado no passado recente). Portanto, com
apt-get, não podemos decidir a versão do pacote python que queremos.pipnos ajuda nessa situação. Podemos instalar qualquer versão do pacote que tenha sido previamente carregado no PyPI. Isso é extremamente útil em caso de conflito nas dependências. -
apt-getinstala módulos python em todo o sistema. Não podemos simplesmente instalar módulos em nosso projeto virtualenv .pipresolve esse problema para nós. Se estivermos usandopipapós ativar o virtualenv, é inteligente o suficiente apenas instalar os módulos em nosso projeto virtualenv. Como mencionado no ponto anterior, se houver uma versão de um determinado pacote python já instalada em todo o sistema e um de nosso projeto precisar de uma versão mais antiga do mesmo pacote python, em tais situações, podemos usar virtualenv e pip para instalar aquela versão mais antiga do pacote python sem conflitos. -
Como @Radu Rădeanu apontou nessa resposta , geralmente haveria diferença nos nomes dos pacotes também. A Canonical geralmente nomeia pacotes do Python 2 como
python-<package_name>e pacotes do Python 3 comopython3-<package_name>. Considerando que, parapip, geralmente só precisamos usar<package_name>para os pacotes Python 2 e Python3.
Qual deles você deve usar:
Tanto apt-get como pip são gerenciadores de pacotes maduros que instalam automaticamente qualquer outra dependência de pacote durante a instalação. Você pode usar qualquer um como quiser. No entanto, se você precisar instalar uma versão específica do pacote python, ou instalar o pacote em um virtualenv, ou instalar um pacote que esteja hospedado apenas no PyPI; somente pip ajudaria você a resolver esse problema. Caso contrário, se você não se importar de instalar os pacotes na localização do sistema, não importa se você usa apt-get ou pip .