Jak korzystać z pip z Python 3.x obok Python 2.x

197

Zainstalowałem Python 3.x (oprócz Python 2.x na Ubuntu) i powoli zacząłem parować moduły, których używam w Python 2.x.

Zastanawiam się więc, jakie podejście powinienem podjąć, aby ułatwić mi życie, używając pipa zarówno dla Pythona 2.x, jak i Pythona 3.x?

theta
źródło
2
Osobiście unikałbym instalacji globalnych i korzystałbym z virtualenv. Następnie używasz pipa ze środowiska wirtualnego do każdego projektu i zawsze używasz właściwego.
jpmc26,

Odpowiedzi:

185

Podejście, które należy podjąć, to zainstalować pipdla Python 3.2.

Robisz to w następujący sposób:

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

Następnie możesz zainstalować rzeczy dla Pythona 3.2 za pomocą pip-3.2i zainstalować rzeczy dla Pythona 2-7 za pomocą pip-2.7. pipKomenda zakończy się wskazując na jedną z nich, ale nie jestem pewien, co tak trzeba będzie sprawdzić.

Lennart Regebro
źródło
9
To było łatwe, dzięki. sudo python3.2 get-pip.pyinstaluje się pipi wykonuje pip-3.2skrypty /usr/local/bini logicznie korzysta z Python 3. sudo python get-pip.pyinstaluje pipi pip-2.7tutaj, więc w tym przypadku pipużywa Python 2.7. Dodatkowo stworzyłem link do pip-3.2as pip3i przetestowałem: Idealnie! :)
theta
6
W Fedorze jest to pip3.3, to znaczy bez kreski między pipem a wersją. Sprawdź, /usr/binjakie masz wersje pip.
Shailen
5
[x] Używa również Ubuntu [ pip2 | pip2.7 | pip3 | pip3.4 ]. Czy jest to zmiana w pipróżnych systemach, czy też inna?
Jon Surrell,
Po egzekucji dostałemYou'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
Więc zrób to. :-)
Lennart Regebro
53

Możesz także użyć apt-get:

apt-get install python3-pip

Z mojego doświadczenia wynika, że ​​działa to również dość płynnie, a Ty zyskujesz wszystkie zalety apt-get.

Erik Pragt
źródło
2
W dniu 12.04 nie mogę tego zrobić.
dranxo
15
Z powodzeniem korzystałem z tego (tj. Sudo apt-get install python3-pip), a następnie mogłem zainstalować pakiety python3 za pomocą „sudo python3 -m pip install install”.
Tom Slee
2
Na dzień dzisiejszy uważam, że apt-get dostaje przestarzałą wersję 1.5.6; jeśli nie chcesz pip freeze > requirementsbłędu Asercji podczas (lub innych potencjalnych błędów), zainstaluj ze źródła dla najnowszej wersji i zaoszczędź sobie bólu głowy.
Yibo Yang,
aby zainstalować, musisz mieć uprawnienia rootapython3-pip
Florent,
Pomimo instalacji, pipużywanie python3.7 pipnadal jest używane domyślnie w Pythonie 2.7 na Ubuntu 14.04 :( Udało mi się zaktualizować PIP do najnowszej wersji, tj. 19.3.1, ale nadal przyjmuje domyślnie Python2.7. Jak korzystać z Pythona 3.7 ?
Curious Developer
48

Najpierw zainstaluj pip Python 3, używając:

sudo apt-get install python3-pip

Następnie, aby użyć Python 3 pipużyj:

pip3 install <module-name>

Do Python 2 pipużytku:

pip install <module-name>
aadarsh ​​karumathil
źródło
4
Nie ma pip Python 2, który zależy od używanego systemu operacyjnego. Na przykład w pip --versionstanach Arch Linux , które domyślnie działają na Pythonie 3.6 .
Daniel Andrei Mincă
to wydaje mi się najbardziej intuicyjne i łatwe rozwiązanie, dzięki!
gebbissimo
15

Jeśli nie chcesz określać wersji przy każdym użyciu pip :

Zainstaluj pip:

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

i wyeksportuj ścieżkę:

$ export PATH=/Library/Frameworks/Python.framework/Versions/<version number>/bin:$PATH
tldr
źródło
11
Czy mógłbyś opracować? Nie rozumiem, jak instalacja distribute ma coś wspólnego z tym, że nie muszę określać wersji pipa, której chcesz użyć.
Piotr Dobrogost
13

Najkrótsza droga:

python3 -m pip install package
python -m pip install package
pięć elementów
źródło
`` (test-exif) alex @ alex-xps-13-9370: ~ / projects / oe / app / exif $ python3 -m pip install exif / usr / bin / python3: Brak modułu o nazwie pip ``
axd
@axd w takim przypadku najpierw zainstaluj pip za pomocą sudo apt-get install python3-pip. Zakładając, że używasz Python3.
fiveelements
5

Działa to dla mnie w systemie OS X: (Mówię to, ponieważ czasami boli mnie to, że Mac ma „własną” wersję każdego narzędzia typu open source i nie można go usunąć, ponieważ „ulepszenia” sprawiają, że jest on wyjątkowy dla innych programów Apple , a jeśli go usuniesz, rzeczy zaczną spadać)

Postępowałem zgodnie z instrukcjami dostarczonymi przez @Lennart Regebro, aby pobrać pip dla Pythona 3, niemniej jednak pip dla Pythona 2 był nadal pierwszy na ścieżce, więc ... to, co zrobiłem, to utworzenie dowiązania symbolicznego do Pythona 3 wewnątrz / usr / bin ( w rzeczywistości zrobiłem to samo, aby moje 2 pytony działały w spokoju):

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

Zauważ , że dodałem 3na końcu, więc w zasadzie to, co musisz zrobić, to użyć pip3zamiast po prostu pip.

Post jest stary, ale mam nadzieję, że to kiedyś pomoże. powinno to teoretycznie działać dla każdego systemu LINUX.

Ordiel
źródło
4

W Suse Linux 13.2, pip wywołuje python3, ale pip2 jest dostępny do korzystania ze starszej wersji python.

karsten
źródło
to samo na voidlinux
Radagast
4

W systemie Windows najpierw zainstalowano Python 3.7, a następnie Python 2.7. Następnie użyj wiersza polecenia:

pip zainstaluj python2-module-name

pip3 zainstaluj python3-module-name

To wszystko

Kardi Teknomo
źródło
3

Pamiętaj, że w msys2 znalazłem te polecenia, które są pomocne:

$ pacman -S python3-pip
$ pip3 install --upgrade pip
$ pip3 install --user package_name
użytkownik8128167
źródło
2

Myślałem, że to stare pytanie, myślę, że mam lepsze rozwiązanie

  1. Aby użyć pipa w środowisku Python 2.x, użyj tego polecenia -

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

  2. Aby użyć pip dla środowiska Python 3.x, użyj tego polecenia -

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

Anurag Daware
źródło