Nie można zaktualizować pip

21

Jestem nowy w Linuksie i Ubuntu.

Próbowałem uaktualnić pip, ale wpadłem na to ...

$ sudo pip install --upgrade pip
Cannot fetch index base URL https://pypi.python.org/simple/
Downloading/unpacking pip from https://pypi.python.org/packages/py2.py3/p/pip/pip-7.1.0-py2.py3-none-any.whl#md5=b108384a762825ec20345bb9b5b7209f
  Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB): 1.1MB downloaded
Installing collected packages: pip
  Found existing installation: pip 1.5.4
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, owned by OS
Successfully installed pip
Cleaning up...

Masz pomysł, dlaczego?

Spencer Lee
źródło
2
spróbuj aptnp. sudo apt-get install python-pipzaktualizowaćpip
heemayl
hmmm ... mówi, że jest to najbardziej aktualna wersja ... czy to dlatego, że apt-get i pip pobierają swoje pakiety z różnych źródeł? (tj. czy byłaby to różnica między apt-get a pypi?) „python-pip jest już najnowszą wersją”.
Spencer Lee,
oznacza to, że jest aktualne ...
Tim
1
oprócz uruchamiania: lista pip - nieaktualna pip zwraca następujące: pip (bieżący: 1.5.4 najnowszy: 7.1.0) Nie można znaleźć żadnych plików do pobrania, które spełniają wymagania python-apt Niektóre pliki hostowane zewnętrznie zostały zignorowane (użyj --allow- zewnętrzny python-apt, aby zezwolić).
Spencer Lee,

Odpowiedzi:

3

Edytować:

pip install -U pip

lub

pip install --upgrade pip

-Ujest skrótem od --upgrade.


Stara odpowiedź:

aptSystem i PyPIwykorzystuje dwa różne mechanizmy.

W repozytoriach Ubuntu wiele modułów pythonjest dostępnych jako pakiety, ale nie ma ich wiele w porównaniu do PyPI (Indeks pakietów Pythona) . Aby zachować spójność aktualizacji pakietu, musisz wziąć pod uwagę metodę użytą początkowo do jego zainstalowania.

Więc jeśli zainstalowałeś pakiet (moduł) z PyPIużywania pip, powinieneś użyć go pipdo uaktualnienia pakietu PyPI(w tym pipsamego siebie). Z drugiej strony, jeśli użyłeś aptsystemu do zainstalowania modułu (jako pakietu), musisz go użyć, aptaby ponownie go zaktualizować.

Krótko mówiąc, uruchom następującą aktualizację python-pipdo najnowszej wersji:

sudo apt-get install python-pip
heemayl
źródło
4
To nie odpowiada na pytanie. python-pip nie aktualizuje pip, instaluje tylko bardzo starą wersję pip w taki sposób, że pip nie może się zaktualizować.
Cerin,
@Cerin Czy dokładnie przeczytałeś odpowiedź? python-pipjest pakietem z (oficjalnego) repozytorium Universe, podczas gdy easy_installinstaluje się z PyPI. Jak zawsze oficjalne repozytoria nie zawierają najnowszego pakietu, który zapewniłby stabilność systemu (i zależności zostały rozwiązane).
heemayl
6
@heemayl, OP zapytał, jak zaktualizować pip, a ty skutecznie powiedziałeś im, aby zainstalowali starą wersję pipa. Prawidłowym rozwiązaniem jest odinstalowanie python-pip i instalacja z PyPI. Instalowanie python-pip nie powoduje aktualizacji pip.
Cerin,
22

Spróbuj zainstalować z easy_install:

easy_install -U pip
NamPNQ
źródło
1
Nie jesteś pewien, czy ta odpowiedź jest nadal aktualna? W tym artykule na temat przepełnienia stosu zapytano: „Po co używać pipa w easy_install?”, W którym jedna z odpowiedzi zauważyła, że: „Jedynym dobrym powodem, dla którego wiem, że korzystam z easy_install w 2015 roku, jest szczególny przypadek użycia preinstalowanego Pythona Apple'a wersje z OS X 10.5–10.8. ”
clearkimura,
1
Skoncentruj się na pytaniu, pytanie brzmi: „Nie można zaktualizować pipa”, i sugeruję sposób aktualizacji poprzez easy_install, działa w grudniu 2015 r., Dobrze?
NamPNQ,
Do downvoters, wyjaśnij, dlaczego ta odpowiedź została wcześniej odrzucona? Udało mi się znaleźć ostatni komentarz pod tym postem , który jest cytowany tutaj: „easy_install -U pip z sugestii ByteCommander działało dla mnie. - Tampa 1 czerwca o 12:23”. easy_installMetoda podobno działa dla niektórych użytkowników.
clearkimura,
1
To zadziałało dla mnie (z sudo). Wcześniej sudo apt-get install python-pipdawał mi, python-pip is already the newest version (8.1.1-2ubuntu0.4)podczas gdy 9.0.1 był dostępny, ale nie mógł zostać zainstalowany przez pip install --upgrade pip(co pozostawiło wersję bez zmian w 8.1.1). Po easy_installaktualizacji wersji.
Kurt Peek
Chociaż to działa, zastępuje pliki zarządzane przez system nowszą pipwersją. Ponowna instalacja python-pippakietu ponownie zastąpi pliki. Inny kod polegający na obecnej i poprawnej wersji pakietu może się zepsuć (mała, ale niezerowa szansa) i easy_installmoże dodać dodatkowe pliki, które nie zostaną usunięte podczas przyszłej aktualizacji python-pipdo nowszej wersji, która może zakłócać i zepsuć się.
Martijn Pieters
7

Miałem ten sam problem przez długi czas i wymyśliłem dziś rozwiązanie. Kiedy instalujesz pip za pomocą python-pip, pobierasz z przestarzałego serwera Linux. Powinieneś pobrać z serwera python. Aby rozwiązać ten problem, wykonaj następujące czynności:

sudo apt-get purge pip
sudo apt-get install python-setuptools
sudo apt-get install python-dev 
sudo easy_install pip 
pip install pip --upgrade 
użytkownik730924
źródło
1
dziękuję za wyjaśnienie źródła problemu. Musiałem to rozgryźć, zanim przewinąłem w dół i zobaczyłem tę odpowiedź.
G Gordon Worley III
Te polecenia (2-3) są nieprawidłowe.
Joel G Mathew
@JelGMathew wystarczy zainstalować słowo po apt-get
nurgasemetey
2

W rzeczywistości możesz edytować swój skrypt „pip”:

z katalogu głównego:

$ which pip  # -> prints 'pip' location

$ nano `which pip` # -> open with your editor, note the backticks!

zamień na __requires__najnowszą wersję pip, taką jak:

__requires__ = 'pip==7.1.2'

niż linia edycji z wywołaniem „load_entry_point” do:

load_entry_point(__requires__, 'console_scripts', 'pip')()

i:

$pip -V
pip 7.1.2 from /usr/local/lib/python2.7/dist-packages (python 2.7)

muszę też zaktualizować pakiet setuptools , aby zainstalować niektóre pakiety.

s0rg
źródło
2

Jest to spowodowane konfliktem między wersją pip dostarczaną przez pakiet systemowy, np python-pip , a wersją dostarczoną przez PyPI przez samą pip.

Aby to naprawić, po prostu usuń za python-pippomocą sudo apt-get purge python-pip.

Jeśli używałeś już starej wersji pipa do zainstalowania nowszej wersji, powinna ona pozostawić zaktualizowaną wersję /usr/local/bin. Jeśli nie, możesz zainstalować najnowszą wersję Pip od zera za pomocą:

curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo python2.7
Cerin
źródło
1

Użyj tego linku, aby dokonać aktualizacji. Gruntownie:

  1. Pobierz plik get-pip.py
  2. biegać python get-pip.py
Manish
źródło
1

Spróbuj uruchomić, sudo -H pip3 install --upgrade pipaby zaktualizować swój pip3 (dla Python 3). I odwrotnie, możesz również zrobić sudo -H pip2 install --upgrade pipaktualizację pipa (dla Python 2).

BhushanDhamale
źródło
1

Natknąłem się na ten problem podczas pracy na zdalnej maszynie, w którą byłem ssh. Właśnie zainstalowałem Pythona 3 i nie mogłem uzyskać aktualizacji do PIPa, mimo że próbowałem dokonać aktualizacji przez PIP ORAZ apt-get.

Wylogowanie ze zdalnego serwera i ponowne zalogowanie naprawiło to.

Teal Hobson-Lowther
źródło
0

Jeśli python-pipzainstalowany z repozytoriów apt z sudo - uruchomsudo -H install --upgrade pip , to samo dotyczy instalacji modułów PIP.

Tutaj wyjście z mojej konsoli 16.04

..... Successfully installed requests
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
:~$ pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 672kB/s 
Installing collected packages: pip
Successfully installed pip-8.1.1
You are using pip version 8.1.1, however version 9.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.
:~$ sudo -H pip install --upgrade pip
Collecting pip
  Downloading pip-9.0.1-py2.py3-none-any.whl (1.3MB)
    100% |████████████████████████████████| 1.3MB 692kB/s 
Installing collected packages: pip
  Found existing installation: pip 8.1.1
    Not uninstalling pip at /usr/lib/python2.7/dist-packages, outside environment /usr
Successfully installed pip-9.0.1
:~$ 

zobacz także Co to jest flaga -H dla pip? /programming/28619686/what-is-the-h-flag-for-pip

Społeczność
źródło
0

Jestem tylko początkującym, więc nie jestem pewien, ale prawdopodobnie jest to coś związanego z różnicami między Pythonem 2 i 3. Myślę, że nie jest konieczne, aby być superużytkownikiem, ale możesz to zrobić z łatwością za pomocą pip3zamiast pipaktualizacji pip: pip3 install --upgrade pip

NBee
źródło
0

Mam podobny problem z aktualizacją PIP 9.0.3 do wersji 18.0.

Po uaktualnieniu najpierw następuje dezinstalacja, a następnie instalowana jest najnowsza wersja. Stwierdziłem jednak, że przy pierwszej próbie jest napisane „pomyślnie odinstalowano pip-9.0.3”

Przy kolejnych próbach pojawia się ten sam błąd. Jest tak, ponieważ pip-9.0.3 jest odinstalowany. Tak jak w przypadku zaakceptowanej odpowiedzi, zainstalowałem PIP jako administrator w moim systemie Windows 10, otrzymałem najnowszą wersję, a potem wszystko poszło dobrze.

Mam nadzieję że to pomoże.

Eswar
źródło