Como usar o pip com o Python 3.x ao lado do Python 2.x

196

Eu instalei o Python 3.x (além do Python 2.x no Ubuntu) e lentamente comecei a emparelhar os módulos que uso no Python 2.x.

Então, eu me pergunto, que abordagem devo adotar para facilitar minha vida usando o pip para o Python 2.xe o Python 3.x?

teta
fonte
2
Pessoalmente, evitaria a instalação global de pacotes e usaria o virtualenv. Em seguida, você usa o pip de dentro do seu ambiente virtual para cada projeto e sempre usa o correto.
precisa saber é

Respostas:

183

A abordagem que você deve seguir é instalar o pipPython 3.2.

Você faz isso da seguinte maneira:

$ curl -O https://bootstrap.pypa.io/get-pip.py
$ sudo python3.2 get-pip.py

Em seguida, você pode instalar coisas para o Python 3.2 com pip-3.2e instalar coisas para o Python 2-7 com pip-2.7. O pipcomando acabará apontando para um deles, mas não tenho certeza qual, então você terá que verificar.

Lennart Regebro
fonte
9
Isso foi fácil, obrigado. sudo python3.2 get-pip.pyinstala pipe pip-3.2scripts /usr/local/bine usa logicamente o Python 3. sudo python get-pip.pyinstala pipe pip-2.7aqui, portanto, neste caso, pipusa o Python 2.7. Eu criei um link adicional para pip-3.2as pip3e testei: Perfect! :)
teta
6
No Fedora, é o pip3.3, ou seja, sem o traço entre o pip e a versão. Verifique /usr/binpara ver quais versões de pip você tem lá.
Shailen 31/07
5
O Ubuntu também está usando [ pip2 | pip2.7 | pip3 | pip3.4 ]. Isso é uma mudança pipou é diferente entre sistemas diferentes?
Jon Surrell
Depois de executar eu tenhoYou're using an outdated location for the get-pip.py script, please use the one available from https://bootstrap.pypa.io/get-pip.py
Kevin Brotcke
Então faça isso então. :-)
Lennart Regebro 03/02
53

O que você também pode fazer é usar o apt-get:

apt-get install python3-pip

Na minha experiência, isso também é bastante fluente, além de você obter todos os benefícios do apt-get.

Erik Pragt
fonte
2
Em 12.04, não posso fazer isso.
dranxo
15
Eu usei isso com sucesso (ou seja, sudo apt-get install python3-pip) e, em seguida, pude instalar pacotes python3 usando "sudo python3 -m pip install package".
precisa
2
A partir de hoje, acredito que o apt-get fornece a versão 1.5.6 desatualizada; se você não quiser um AssertionErrror durante pip freeze > requirements(ou outros possíveis erros), instale a partir da fonte para a versão mais recente e economize um pouco de dor de cabeça.
Yibo Yang
deve ser root para instalarpython3-pip
Florent
Apesar de a instalação pipusando python3.7 pipainda estar sendo usada como padrão no Python 2.7 no ubuntu 14.04 :( Consegui atualizar o pip para a versão mais recente, isto é, 19.3.1, mas ainda está assumindo o padrão para python2.7. ?
Curious Developer
48

Primeiro, instale o Python 3 pip usando:

sudo apt-get install python3-pip

Então, para usar Python 3 pipuse:

pip3 install <module-name>

Para Python 2 pipuso:

pip install <module-name>
aadarsh ​​karumathil
fonte
4
Não há pip Python 2, isso depende do sistema operacional que você está usando. Por exemplo, nos pip --versionestados do Arch Linux que estão sendo executados no python 3.6 por padrão.
Daniel Andrei Mincă
essa parece a solução mais intuitiva e fácil para mim, obrigado!
gebbissimo 12/03/19
15

Se você não quiser especificar a versão sempre que usar o pip :

Instale o pip:

$ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python3

e exporte o caminho:

$ export PATH=/Library/Frameworks/Python.framework/Versions/<version number>/bin:$PATH
tldr
fonte
11
Você poderia elaborar? Não vejo como a instalação da distribuição tem nada a ver com não precisar especificar a versão do pip que você deseja usar.
Piotr Dobrogost
13

O caminho mais curto:

python3 -m pip install package
python -m pip install package
cinco elementos
fonte
`` (test-exif) alex @ alex-xps-13-9370: ~ / projects / oe / app / exif $ python3 -m pip install exif / usr / bin / python3: nenhum módulo chamado pip `` `
axd
@axd, nesse caso, primeiro instale o pip usando sudo apt-get install python3-pip. Supondo que você esteja usando python3.
Fiveelements 19/08/19
5

Isso funcionou para mim no OS X: (digo isso porque às vezes é uma dor que o mac tenha uma versão "própria" de todas as ferramentas de código-fonte aberto, e você não pode removê-lo porque "suas melhorias" o tornam único para que outras coisas da apple funcionem e se você removê-lo, as coisas começam a cair)

Eu segui as etapas fornecidas pelo @Lennart Regebro para obter o pip para python 3, no entanto, o pip para python 2 ainda era o primeiro no caminho, então ... o que fiz foi criar um link simbólico para o python 3 dentro de / usr / bin ( de fato, fiz o mesmo para ter meus 2 pitães correndo em paz):

ln -s /Library/Frameworks/Python.framework/Versions/3.4/bin/pip /usr/bin/pip3

Observe que eu adicionei um 3no final, então basicamente o que você precisa fazer é usar em pip3vez de apenas pip.

O post é antigo, mas espero que isso ajude alguém algum dia. teoricamente, isso deve funcionar para qualquer sistema LINUX.

Ordiel
fonte
4

No Suse Linux 13.2, o pip chama python3, mas o pip2 está disponível para usar a versão mais antiga do python.

karsten
fonte
o mesmo em voidlinux
Radagast
4

No Windows, primeiro instalei o Python 3.7 e depois o Python 2.7. Em seguida, use o prompt de comando:

pip instala python2-module-name

pip3 instala python3-module-name

Isso é tudo

Kardi Teknomo
fonte
3

Observe que no msys2 eu achei esses comandos úteis:

$ pacman -S python3-pip
$ pip3 install --upgrade pip
$ pip3 install --user package_name
user8128167
fonte
2

Pensei que esta é uma pergunta antiga, acho que tenho uma solução melhor

  1. Para usar o pip em um ambiente python 2.x, use este comando -

    py -2 -m pip install -r requirements.txt

  2. Para usar o pip para o ambiente python 3.x, use este comando -

    py -3 -m pip install -r requirements.txt

Anurag Daware
fonte