Jak zainstalować pip dla Pythona 3 w Ubuntu 12.04 LTS

117

Próbuję zainstalować moduł Pillow dla Pythona 3.3, ale w tym celu muszę zainstalować pip. Za każdym razem, gdy instaluję pip, instaluje się dla Pythona 2.7, jakaś pomoc?

BCasaleiro
źródło
1
powinno być łatwo sudo apt-get install python3-pip, ale rozumiem, że nie mogę tego znaleźć. Czy ty też miałeś ten problem? Naprawiłeś to?
Charlie Parker,

Odpowiedzi:

141

Aktualizacja 2018: To wciąż przyciąga entuzjastów, co mnie martwi.

12.04 jest nieobsługiwany od około roku. Najlepszym sposobem na zainstalowanie pip3 jest uaktualnienie do nowszej, obsługiwanej wersji Ubuntu. Masz do wyboru 3 wersje LTS.


Podczas gdy w nowszych wersjach Ubuntu można było po prostu sudo apt-get install python3-pip(a następnie użyć pip3), kopia Pythona 3 pipnigdy nie została spakowana dla 12.04.

Dlatego musisz podążać starszą drogą instalacji easy_install:

sudo apt-get install python3-setuptools
sudo easy_install3 pip

Teraz jest szansa, że zderzy się to z Pythonem 2 pipi zastąpi /usr/bin/pip , ponieważ zainstaluje on oparty na python3, /usr/local/bin/pipktóry jest również w $ PATH Ubuntu 12.04.

Nie powinno go zastępować , o ile wiesz, że może być do zaakceptowania. Najlepiej jednak rozpocząć badanie szczęśliwego świata, virtualenvjak sugeruje ta odpowiedź .

Alternatywnie możesz zmienić nazwę łatwej do zainstalowania wersji pip Pythona:

sudo mv /usr/local/bin/pip /usr/local/bin/pip-3

Następnie możesz potwierdzić, że istniejący pip nadal jest oparty na języku Python2.7:

pip --version
Oli
źródło
1
To powoduje problemy dla niektórych osób, z plikami nieczytelnymi dla świata w /usr/local/lib/python3.2/dist-packages/.
Marius Gedminas
1
Jest to bez wątpienia najlepsza odpowiedź na zadane pytanie, ale jeśli ktoś używa nowszej wersji Ubuntu, bardziej odpowiednia jest odpowiedź dmeu poniżej.
brandizzi,
1
Nie rób tego Spowoduje to węszenie instalacji. pip8 chce Python3.4, ale spowoduje to, że Python3.2 będzie wymagał narzędzi instalacyjnych Python3, a następnie nie będzie można go odinstalować, gdy pip3 nie uruchomi się z powodu problemów ze zgodnością. Całkowicie wszystko psuje. Oto uwagi, które pozwolą ci wrócić do stabilnego miejsca getpostdelete.com/unscrewing.txt (dotyczy LTR 12.04). Pamiętaj, że to nie będzie działać jako skrypt. Przeczytaj każdy komentarz i sam zdecyduj, czy chcesz ponieść związane z tym ryzyko. Byłem w Linuksie od 20 lat, ale nie twierdzę, że to rozwiązanie jest właśnie dla Ciebie.
Kristopolous
1
sudo apt-get install python3-setuptoolsi sudo easy_install3 pipdziała dobrze na Ubuntu Trusty (14.04) ;-)
Maxwel Leite
1
dostajesz głos za to, że 12.04 jest ode mnie nieaktualny;)
Markus
43

Możesz go również zainstalować, sudo apt-get install python3-pipa następnie wywołać pip3. Gotowe

dmeu
źródło
11
Nie dotyczy Ubuntu 12.04 LTS.
Marius Gedminas
2
@MariusGedminas Może więc nie powinieneś używać wyłącznie przestarzałego repozytorium. Nawet jeśli precisejest nadal obsługiwany , nie musi to oznaczać, że ma najnowsze oprogramowanie. Oznacza to po prostu, że trzymają go online, na „oficjalnym repozytorium”, zamiast przenosić go na „stare repo”, gdzie apt-get nie będzie mógł uzyskać do niego dostępu; aby Twój menedżer pakietów nie zepsuł się. Przykład: wypróbowałem to i działa dobrze; mój sources.list korzysta z trustyrepozytorium, którego można użyć w 12.04, po prostu dodając kilka dodatków do pliku sources.list i wykonując aktualizację apt-get.
Braden Best,
1
Zwróć również uwagę na możliwość anakondy
dmeu
jest to przydatne, gdy chcesz zainstalować pip3 na całym świecie
cyberbikepunk
@BradenBest nie jestem pewien, czy to prawda, ale wygląda na to, że jest to wersja ubuntu w dockerze. Jakiej wersji powinienem używać? Mam również problemy z instalacją pip3 i chcę go zainstalować.
Charlie Parker,
13

Jeśli pracujesz z kilkoma wersjami Pythona na tej samej maszynie, może być przydatna praca ze środowiskami wirtualnymi . Pozwala to na pracę z dowolną liczbą instancji Pythona, każda z własnym zestawem pakietów. Jest to bardzo przydatne, jeśli pracujesz z kilkoma wersjami Pythona i / lub jeśli twoje projekty wymagają różnych wersji tego samego pakietu (pakietów).

Aby to skonfigurować:

sudo pip install virtualenv 

Można to zrobić DOWOLNYM pipem, a więc także standardowym pipem używającym Pythona 2.7. Następnie, aby stworzyć środowisko wirtualne z Python3 jako interpreter, wykonaj:

virtualenv my_py3 --python=/usr/bin/python3
source my_py3/bin/activate # to activate the python3 environemt

Następnie zainstaluj dowolne pakiety, których możesz użyć

pip install <package> # no sudo required now, as you're IN the virtual environment

Aby zatrzymać środowisko wirtualne, wpisz:

deactivate
Gx1sptDTDa
źródło
2

Po zainstalowaniu Pythona 3.3 za pomocą PPA dla Ubuntu 12.04, zainstalowałem easy_install3.3 używając lokalnie, używając następujących poleceń

wget http://python-distribute.org/distribute_setup.py
python3.3 -m distribute_setup install --user
easy_install-3.3 --user pip

Pozwala to uniknąć zanieczyszczenia instalacji witryny pipi easy_install. Wreszcie dodałem $HOME/.local/bindo swojej ścieżki. Teraz mogę biegać pip3.3!

Emre
źródło
2

Aby dodać do odpowiedzi dmeu, być może trzeba zaktualizować ją, /etc/apt/sources.listaby zawierała kopie lustrzane z nowszego repozytorium, takiego jak trusty.

sudo vi /etc/apt/sources.list
sudo apt-get update

Wyjaśnienie, co oznacza wsparcie długoterminowe, niekoniecznie oznacza, że ​​są precisena bieżąco z najnowszym i najlepszym oprogramowaniem. Pewnie, dostaniesz z niego kilka aktualizacji, ale wtedy będziesz mieć przypadki, w których pewne pakiety nie istnieją, na przykład takie python3-pip, które istnieją w trustyrepozytorium.

Co oznacza LTS, to że utrzymują oni precisegłówne repozytorium, aby twój menedżer pakietów się nie zepsuł. To ostatecznie da ci szansę przeprowadzenia aktualizacji apt-get, upgrade i dist-upgrade, kiedy 12.04 w końcu stanie się przestarzałe. Z jakiegoś powodu nazywają to wsparciem, a nie najnowocześniejszym.

Jeśli trasa apt-get nadal nie działa, możesz także spróbować pobrać pakiet .deb python3-pip i zainstalować dpkg, czyli menedżera pakietów debian,

sudo dpkg -i <name-of-package>.deb

Mam nadzieję że to pomoże.

Braden Best
źródło
1
Na świeżym Ubuntu 18.04 LTS, sudo apt-get install python3-pipnie można znaleźć python3.pip. Wykonanie, sudo apt-get updatea następnie powtórzenie nieudanej instalacji działało.
David Ching
@DavidChing na wszelki wypadek, Trusty ma 14.04.
Braden Best
1

do tej pory moją ulubioną opcją jest instalacja anacondalub minicondadla python3: https://www.continuum.io/downloads

Każdy pakiet może zostać zainstalowany przez conda install package-name

Jeśli potrzebujesz python2, możesz utworzyć środowisko wirtualne:

conda create -n python2 python=2.7 anaconda source activate python2

Zobacz szczegóły tutaj: https://stackoverflow.com/a/24415581/551694

dmeu
źródło
1

Dodanie wszechświata do repozytoriów załatwia sprawę.
Tutaj znalazłem:

Blockquote Musisz włączyć kategorię wszechświata, która zawiera pakiet python-pip.

Otwórz /etc/apt/sources.listza pomocą edytora

sudo nano /etc/apt/sources.list

następnie dodaj wszechświat na końcu każdej linii, tak:

deb http://archive.ubuntu.com/ubuntu bionic main **universe**
deb http://archive.ubuntu.com/ubuntu bionic-security main **universe** 
deb http://archive.ubuntu.com/ubuntu bionic-updates main **universe**

następnie uruchomić:

sudo apt update

i w końcu:

sudo apt install python-pip
Jimmy Tavarez
źródło
0

Próbowałem:

sudo-apt get update
sudo apt-get install python3-pip

Wydawało mi się, że to załatwi sprawę. Mam nadzieję, że pomoże to innym osobom mającym ten sam problem.

CaffeinatedCodeQueen
źródło