Eu tenho um Macbook com OS X El Captain. Acho que Python 2.7
vem pré-instalado nele. Porém, eu instalei Python 3.5
também. Quando comecei a usar Python 3
, li que se quiser instalar um pacote, devo digitar:
pip3 install some_package
Enfim, agora quando eu uso
pip install some_package
Eu sou some_package
instalado para Python 3
. Quer dizer, posso importá-lo e usá-lo sem problemas. Além disso, quando eu digitar apenas pip3
em Terminal
, eu tenho essa mensagem sobre o uso:
Usage:
pip <command> [options]
que é a mesma mensagem que recebo quando digito apenas pip
.
Isso significa que em versões previos, as coisas eram diferentes, e agora pip
e pip3
podem ser usados alternadamente? Em caso afirmativo, e por uma questão de argumento, como posso instalar pacotes para em Python 2
vez de Python 3
?
fonte
ls -l
epip show
para verificar o motivo. e, claro, essa resposta é para responder à sua pergunta.Se você tinha o python 2.xe instalou o python3, seu pip apontará para o pip3. você pode verificar isso digitando
pip --version
qual seria o mesmo quepip3 --version
.Em seu sistema você agora tem pip, pip2 e pip3 .
Se você quiser, pode alterar pip para apontar para pip2 em vez de pip3.
fonte
pip3 install --upgrade pip
e ele fez ambos v10Quando você instala
python3
,pip3
é instalado. E se você não tiver outra instalação do python (como python2.7), um link é criado apontandopip
parapip3
.O mesmo
pip
ocorre com um link parapip3
se não houver outra versão do python instalada (além do python3).pip
geralmente aponta para a primeira instalação.fonte
Este é um assunto complicado. No final, se você invocar,
pip
ele invocarápip2
oupip3
, dependendo de como você configurou seu sistema.fonte
Por ilustração:
Portanto, no meu sistema padrão python (Python 3.7.3),
pip
épip3
.fonte
Eu acho
pip
,pip2
epip3
não são links de software para o mesmo caminho de arquivo executável. Observe estes comandos e os resultados em meu terminal Linux:Como você vê, eles existem em caminhos diferentes.
pip3 sempre opera apenas no ambiente Python3, como pip2 faz com Python2. pip opera em qualquer ambiente apropriado ao contexto. Por exemplo, se você estiver em um venv Python3, o pip operará no ambiente Python3.
fonte
Se você instalou o Python 2.7, acho que poderia usar
pip2
epip2.7
instalar pacotes especificamente para Python 2, comoou
E você pode usar
pip3
oupip3.5
instalar pacotes especificamente para Python 3.fonte
Na minha instância do Windows - e eu não entendo totalmente o meu ambiente - usar pip3 para instalar o pacote kaggle-cli funcionou - enquanto pip não. Eu estava trabalhando em um ambiente de conda e os ambientes parecem ser diferentes.
fonte
Dado um Python 3.6 virtualenv ativado em somepath / venv , os seguintes aliases resolveram os vários problemas em um macOS Sierra onde pip insistia em apontar para o 2.7 Python da Apple.
Isso não funcionou tão bem quando eu tive que fazer
sudo pip
porque o usuário root não sabe nada sobre meu alias ou o virtualenv, então eu tive que adicionar um alias extra para lidar com isso também. É um hack, mas funciona e eu sei o que faz:fundo:
pip3 não existia para iniciar ( comando não encontrado ) com e
which pip
retornaria /opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin/pip , o Apple Python.Python 3.6 foi instalado por meio de macports.
Após a ativação do 3.6 virtualenv com o qual eu queria trabalhar,
which python
retornaria somepath / venv / bin / pythonDe alguma forma
pip install
, faria a coisa certa e atingiria meu virtualenv, maspip list
desencadearia pacotes do Python 2.7.Para Python, isso está muito abaixo de minhas expectativas em termos de facilidade de uso para iniciantes.
fonte