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?


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ć.


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.


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>

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

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

`` (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.


4

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


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


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

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.