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.pip
nos 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-get
instala módulos python em todo o sistema. Não podemos simplesmente instalar módulos em nosso projeto virtualenv .pip
resolve esse problema para nós. Se estivermos usandopip
apó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
.