błąd połączenia pip: nie można pobrać podstawowego adresu URL indeksu http://pypi.python.org/simple/

89

Uruchamiam sudo pip install git-reviewi otrzymuję następujące komunikaty:

Downloading/unpacking git-review
  Cannot fetch index base URL http://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement git-review
No distributions at all found for git-review
Storing complete log in /home/sai/.pip/pip.log

Czy ktoś ma o tym jakiś pomysł?

Sai Wai Maung
źródło
4
To musi być połączenie proxy
Ossama
1
„żaden z nich nie rozwiązuje mojego problemu” Które to są? Abyśmy się nie powtarzali.
RandomSeed

Odpowiedzi:

143

Wiem, że to stary wątek, ale napotkałem ten problem dzisiaj i chciałem podzielić się moim rozwiązaniem problemu, ponieważ nie widziałem tego rozwiązania nigdzie indziej w SO.

Moje środowisko: Python 2.7.12 / 2.7.14 na Ubuntu 12.04.5 LTS w virtualenv, pip wersja 1.1.

Moje błędy:

pip install nose

w konsoli:

Cannot fetch index base URL http://pypi.python.org/simple/

w ~ / .pip / pip.log:

Could not fetch URL http://pypi.python.org/simple/: HTTP Error 403: SSL is required

Zaciekawiony, ponieważ te same polecenia uruchamiałem w skrypcie bez problemu przez około rok.

to naprawiło:

pip install --index-url=https://pypi.python.org/simple/ nose

(zwróć uwagę na https)

Mam nadzieję, że to komuś pomoże!

mattdedek
źródło
Wielkie dzięki! Miałem również ten problem na Ubuntu 12.04, który miał pip 1.0 from /usr/lib/python2.7/dist-packages (python 2.7)zainstalowany istniejący , który był faktycznie bezużyteczny.
Josh Kupershmidt
Pan zasługuje na medal. Miałem ten problem na mojej czerni beaglebone. Teraz jest naprawiony.
Aditya Shekhawat
Wiele odpowiedzi tutaj. Żaden z nich nie był istotny / nie działał dla mnie oprócz tego. Dziękuję Ci!
arielf
pip install --index-url=http://mypypi.net/simple/zgłasza błądERROR: You must give at least one requirement to install (see "pip help install")
Confounded
@Confounded - Dzięki za zwrócenie uwagi, po prostu wymień pakiety, które chcesz zainstalować po opcji --index-url. Zobacz aktualizację, aby zobaczyć przykład.
mattdedek
59

Musisz zaktualizować swoją instalację pip .

Opcja --index-url(short version -i:) umożliwia określenie adresu URL indeksu w wywołaniu samego pip, tam można użyć wariantu https. Następnie możesz poinstruować pip, aby zaktualizował się.

sudo pip install --index-url https://pypi.python.org/simple/ --upgrade pip

Później powinieneś móc używać pip bez --index-urlopcji.


Uważam, że wydanie 7.0.0 (2015-05-21) wywołało ten problem. Informacja o wydaniu dla tej wersji zawiera następujące informacje:

BACKWARD INCOMPATIBLE Nie obsługuje już niejawnie niezabezpieczonego źródła pochodzenia, a zamiast tego wymaga, aby niezabezpieczone źródła były jawnie zaufane w tej --trusted-hostopcji.

Możesz sprawdzić swoją wersję pip za pomocą pip --version.

Oznaczałoby to, że sudo pip install --trusted-host --upgrade pipjednorazowe wydanie również rozwiązałoby ten problem, chociaż pobieranie pip przez niezabezpieczone http. To również może w ogóle nie działać, ponieważ jest możliwe, że niezabezpieczony punkt końcowy nie jest już dostępny na serwerze (nie testowałem tego).

Daniel F.
źródło
42

EDYTOWAĆ:

Obecna wersja PIPnie ma już tego problemu. W tej chwili wersja: 7.1.2jest wersją aktualną. Oto PIPlink:

https://pypi.python.org/pypi/pip

ORYGINALNY FIX:

Mam ten problem podczas próby użycia pip==1.5.4

Jest to problem związany z zaufaniem certyfikatów SSL przez PIP i Python PYPI. Jeśli zajrzysz do dziennika PIP w systemie Mac OS X pod adresem: /Users/username/.pip/pip.log , znajdziesz tam więcej szczegółów.

Moim obejściem, aby przywrócić i uruchomić PIP po wielu godzinach próbowania różnych rzeczy, było przejście do moich pakietów witryn w Pythonie, niezależnie od tego, czy jest to virtualenv, czy w zwykłych pakietach witryn , i pozbycie się bieżącej wersji PIP. Dla mnie miałempip==1.5.4

Usunąłem katalog PIP i plik jaja PIP. Potem uciekłem

easy_install pip==1.2.1  

Ta wersja PIP nie ma problemu z SSL, a następnie mogłem przejść i uruchomić mój normalny pip install -r requirements.txtw moim virtualenv, aby skonfigurować wszystkie pakiety, które chciałem, które były wymienione w moim requirements.txtpliku.

Jest to również zalecany sposób na rozwiązanie problemu przez kilka osób w tej grupie dyskusyjnej Google, które znalazłem:

https://groups.google.com/forum/#!topic/beagleboard/aSlPCNYcVjw

Aaron Lelevier
źródło
U mnie też naprawiono problem.
HorseloverFat
6
FYI, jeśli czytasz to teraz (tak jak ja), powinieneś uaktualnić pip zamiast obniżać go. Byłem bardzo zaskoczony, gdy zdałem sobie sprawę, że mam 5 głównych wersji w tyle (jesteśmy teraz na 6.0.8). Aktualizacja rozwiązała problem :)
Dr Acula
@ Dr Acula, masz rację. Zaktualizowałem moją odpowiedź. Dziękuję Ci.
Aaron Lelevier
„powinieneś zaktualizować pip” Nie mogę zaktualizować pip z tego samego powodu, dla którego nie mogę instalować pakietów; HTTP Error 403: SSL is required
user5359531
9
@ user5359531 Pobierz paczkę pip z PyPI i zrób pip install pip-x.x.x.tar.gz.
Pelle Nilsson
13

Dodałem opcję wiersza poleceń --proxy, aby wskazywała na proxy i działa (wersja pip to 1.5.4 i python 2.7). z jakiegoś powodu nie pobierał zmiennych env powłoki HTTPS_PROXY, HTTP_PROXY, https_proxy, http_proxy.

sudo pip --proxy [user:passwd@]proxy.server:port install git-review
Chelfi
źródło
czy wymagane są nawiasy kwadratowe wokół użytkownika? dlaczego symbol @ jest używany po haśle?
user13107
12

Sprawdź swoje połączenie proxy, miałem podobny problem, potem zmieniłem połączenie, które nie było proxy i boom, zacząłem pobierać i konfigurować bibliotekę

Ossama
źródło
1
Jak zmieniłeś swoje połączenie proxy, aby działało? Mam ten sam problem.
Aaron Lelevier
Usunąłem
Stoję przed tym samym problemem i jestem prawie pewien, że jest to problem z serwerem proxy. Czy istnieje obejście inne niż użycie innego połączenia?
shaunakde
Przywiązałem się do telefonu, żeby ominąć proxy mojej firmy. Niezłe rozwiązanie.
HuckIt
1
Mój problem polegał na tym, że Fiddler był otwarty (i skonfigurowałem Fiddlera do odszyfrowywania ruchu HTTPS). Zamknąłem Fiddlera i działało dobrze.
AJ Richardson,
6

Miałem ten sam problem z pip==1.5.6. Musiałem poprawić czas systemowy.

# date -s "2014-12-09 10:09:50"
OrangeTux
źródło
1
Innym sposobem na poprawienie czasu systemowego jest użycie demona ntp.
Jaime M.
działało świetnie dla mnie, byłem zadowolony, że było to tak proste do naprawienia
jamescampbell
6

Miałem ten sam problem z pipem 1.5.6.

Właśnie usunąłem folder ~ / .pip i działał jak marzenie.

rm -r ~/.pip/
GusC
źródło
5

To działało dla mnie na Ubuntu 12.04.

pip install --index-url=https://pypi.python.org/simple/ -U scikit-learn
ramnar
źródło
4

Jeśli to nie jest problem z serwerem proxy / siecią, powinieneś spróbować utworzyć / edytować plik konfiguracyjny .pip/pip.conflub jeśli używasz pip jako root /root/.pip/pip.conf. Sprawdź i zmień index-url z http na https .

Powinno wyglądać tak:

[global] 
index-url=https://pypi.python.org/simple/

Pracował dla mnie z Ubuntu 12 i pip 9.0.1

Alex
źródło
3

to działa!

sudo pip --proxy = http://202.194.64.89:8000 install flexiblesearch; 202.194.64.89:8000 to mój PROXY,

user6361148
źródło
2

Udało mi się to naprawić, aktualizując mojego Pythona, który był wcześniej dołączony do nieaktualnej wersji OpenSSL. Teraz używa 1.0.1h-1 i mój pakiet zostanie zainstalowany przez pip.

Do Twojej wiadomości, mój dziennik i polecenia, używając programu anaconda i instalując pakiet pytest-ipynb [1]:


$ conda update python
Fetching package metadata: ....
Solving package specifications: .
Package plan for installation in environment /Users/me/anaconda/envs/py27:

The following NEW packages will be INSTALLED: openssl: 1.0.1h-1

The following packages will be UPDATED: python: 2.7.5-3 --> 2.7.8-1 readline: 6.2-1 --> 6.2-2 sqlite: 3.7.13-1 --> 3.8.4.1-0 tk: 8.5.13-1 --> 8.5.15-0

Proceed ([y]/n)? y Unlinking packages ... [ COMPLETE ] |#############################################################| 100% Linking packages ... [ COMPLETE ] |#############################################################| 100%

$ pip install pytest-ipynb Downloading/unpacking pytest-ipynb Downloading pytest-ipynb-0.1.1.tar.gz Running setup.py (path:/private/var/folders/4f/b8gwyhg905x94twqw2pbklyw0000gn/T/pip_build_me/pytest-ipynb/setup.py) egg_info for package pytest-ipynb

Requirement already satisfied (use --upgrade to upgrade): pytest in /Users/me/anaconda/envs/py27/lib/python2.7/site-packages (from pytest-ipynb) Installing collected packages: pytest-ipynb Running setup.py install for pytest-ipynb

Successfully installed pytest-ipynb Cleaning up...

[1] Mój bilet na ten temat; https://github.com/zonca/pytest-ipynb/issues/1

AnneTheAgile
źródło
Przepraszam, nie wiem, dlaczego formatowanie dodało tyle pustych wierszy?
AnneTheAgile
1

Napotkałem ten sam problem, ale był to powiązany serwer proxy. został rozwiązany przez ustawienie proxy.

Set http_proxy=http://myuserid:mypassword@myproxyname:myproxyport
Set https_proxy=http://myuserid:mypassword@myproxyname:myproxyport

To może komuś pomóc.

Jugal Panchal
źródło
1

Jeśli serwer proxy jest poprawnie skonfigurowany, pip w wersji 1.5.6 obsłuży to poprawnie. Błąd został rozwiązany.

Możesz uaktualnić pip za pomocą easy_install pip==1.5.6

sheldonkreger
źródło
1

Dodatkowa odpowiedź: jeśli robisz to z chroot .

Potrzebujesz źródła liczb losowych, aby móc nawiązać bezpieczne połączenie z pypi.

W Linuksie możesz powiązać montowanie hosta dev z chroot dev:

mount --bind /dev /path-to-chroot/dev
Dima Tisnek
źródło
1

Ten błąd też wyskoczył podczas instalacji pyinstallera w połączeniu przez proxy. Po prostu podłączam bezpośrednie połączenie internetowe (używając mojego klucza sprzętowego) i zrobiłem to ponownie.

 sudo pip install pyinstaller

To zadziałało dla mnie.

RYJ
źródło
1

Być może brakuje ci ustawienia serwera DNS w /etc/resolv.conf

upewnij się, że możesz pingować na adres: ping pypi.python.org

jeśli nie otrzymujesz polecenia ping, spróbuj dodać serwer DNS do pliku ... na przykład:

serwer nazw xxx.xxx.xxx.xxx

Ohad the Lad
źródło
1

Moje wyjaśnienie / zapytanie dotyczy środowiska Windows .
Jestem całkiem nowy w Pythonie, a to jest dla kogoś jeszcze nowicjusza niż ja.
Zainstalowałem najnowszy pip (pakiet instalatora Pythona) i pobrałem pliki binarne kompatybilne z 32-bitowym / 64-bitowym (open source) z http://www.lfd.uci.edu/~gohlke/pythonlibs/ i zadziałało.

Kroki wykonane w celu zainstalowania pip, chociaż zazwyczaj pip jest instalowany domyślnie podczas instalacji Pythona ze strony www.python.org/downloads/
- Pobierz pip-7.1.0.tar.gz z https://pypi.python.org/pypi/pip .
- Rozpakuj i rozpakuj powyższy plik.
- W folderze pip-7.1.0 uruchom: python setup.py install. Ta zainstalowana najnowsza wersja pip.

Użyj pip do zainstalowania (dowolnej możliwej operacji) pakietu binarnego. Uruchom aplikację pip, aby wykonać pracę (plik instalacyjny), jak poniżej:
\ python27 \ scripts \ pip2.7.exe install ścieżka_pliku \ nazwa_pliku --proxy
Jeśli napotkasz problem z kołem (tj. Jajkiem ), użyj zgodnego pliku pakietu binarnego . Mam nadzieję że to pomoże.

Pavan Gowda
źródło
1

W moim przypadku (Python 3.4, w środowisku wirtualnym, działającym pod macOS 10.10.6) nie mogłem nawet się zaktualizować pip. Pomoc nadeszła z tej SO odpowiedzi w postaci następującej jednowierszowej odpowiedzi:

curl https://bootstrap.pypa.io/get-pip.py | python

(Jeśli nie korzystasz ze środowiska wirtualnego, możesz potrzebować sudo python).

Dzięki temu udało mi się zaktualizować pipz wersji 1.5.6 do wersji 10.0.0 (spory skok!). Ta wersja nie korzysta z TLS 1.0 ani 1.1, które nie są już obsługiwane przez strony Python.org i mogą ładnie instalować pakiety PyPI. Nie ma potrzeby określania --index-url=https://pypi.python.org/simple/.

Laryx Decidua
źródło
1

w moim przypadku zainstalowałbym django (

pip zainstaluj django

) i ma ten sam problem z certyfikatem ssl (nie można pobrać podstawowego adresu URL indeksu http://pypi.python.org/simple/ )

pochodzi z virtualenv, więc ZRÓB:

PO PIERWSZE: usuń swój virtualenv

dezaktywować rm -rf env

DRUGIE: sprawdź mieć pip

pip3 -V

jeśli nie masz

sudo apt-get install python3-pip

WRESZCIE:

zainstaluj virtualenv z pakietami nosite i stwórz swój virenviroment

sudo pip3 zainstaluj virtualenv virtualenv --no-site-packages -p /usr/bin/python3.6

. env / bin / activ

ME76SS
źródło
0

Miałem podobny problem, ale w moim przypadku otrzymywałem błąd:

Downloading/unpacking bencode
  Cannot fetch index base URL http://c.pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement bencode
No distributions at all found for bencode
Storing complete log in /home/andrew/.pip/pip.log

W moim przypadku udało mi się naprawić błąd, edytując ~ / .pip / pip.conf i zmieniając http://c.pypi.python.org/simple/na, http://pypi.python.org/simplea następnie pip działał dobrze.

Lurchman
źródło
0

Otrzymałem ten komunikat o błędzie w ~/.pip/pip.log

Could not fetch URL https://pypi.python.org/simple/: connection error: [Errno 185090050] _ssl.c:344: error:0B084002:x509 certificate routines:X509_load_cert_crl_file:system lib
  Will skip URL https://pypi.python.org/simple/ when looking for download links for regulargrid

Naprawiłem to, aktualizując mój ~/.pip/pip.conf. Przypadkowo wskazał cacert.pemplik, który nie istniał i wyglądał tak

[global]
cert = /some/path/.pip/cacert.pem
Fred Schoen
źródło
0

Kiedyś korzystałem z easy_install pip==1.2.1obejścia, ale przypadkowo odkryłem, że jeśli masz ten błąd, prawdopodobnie zainstalowałeś 32-bitową wersję Pythona.

Jeśli zainstalujesz wersję 64-bitową, instalując ją ze źródła, a następnie zbudujesz na niej virtualenv, nie będziesz już mieć tego błędu pip.

lapin
źródło
0

Ja również użyłem wybranego rozwiązania (obniżenie poziomu pip), aby obejść ten problem, dopóki nie natknąłem się na inny pozornie niezwiązany problem spowodowany tym samym podstawowym problemem. Wersja OpenSSL w Pythonie była nieaktualna. Sprawdź swoją wersję OpenSSL:

python -c 'import ssl; print(ssl.OPENSSL_VERSION)'

Jeśli wersja jest 0.9.7taka, powinno to sprawdzić, czy OpenSSL wymaga aktualizacji. Jeśli wiesz, jak to zrobić bezpośrednio, świetnie (ale daj mi znać w komentarzu). Jeśli nie, możesz postępować zgodnie z radą zawartą w tej odpowiedzi i ponownie zainstalować Pythona z instalatora 64-bitowego / 32-bitowego zamiast instalatora tylko 32-bitowego z python.org (używam Pythona 3.4.2). Mam teraz wersję OpenSSL 0.9.8i żadnego z tych problemów.

gerald.guisse
źródło
0

Spróbuj przeprowadzić ponowną instalację pip:

curl -O https://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz
tar xvfz pip-1.2.1.tar.gz
cd pip-1.2.1
python setup.py install

Jeśli curl nie działa, wystąpią problemy z serwerem proxy, napraw, że powinno działać dobrze. Sprawdź po otwarciu google.com w przeglądarce w systemie Linux.

Spróbuj zainstalować

pip install virtualenv
Manas
źródło
0

W przypadku korzystania z zapory sieciowej upewnij się, że połączenia wychodzące do portu 443 nie są blokowane, np. Uruchom:

sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
Eugene Yarmash
źródło
0

Spotkałem z tobą te same pytania. Kiedy zdaję sobie sprawę, że może to być spowodowane niezrównaną wersją numpy lub pip, odinstalowałem numpy i pip, a następnie kontynuowałem jako „ https://radimrehurek.com/gensim/install.html ”, w końcu mi się udało!

myechona
źródło
0
C:\Users\Asus>pip install matplotlib
Downloading/unpacking matplotlib
  Cannot fetch index base URL https://pypi.python.org/simple/
  Could not find any downloads that satisfy the requirement matplotlib
Cleaning up...
No distributions at all found for matplotlib
Storing debug log for failure in C:\Users\Asus\pip\pip.log

Użyłem „easy_install pip == 1.2.1” i działało dobrze.

C:\Users\Asus>easy_install pip==1.2.1
Searching for pip==1.2.1
Reading https://pypi.python.org/simple/pip/
Best match: pip 1.2.1
Downloading ...

Następnie za pomocą tego polecenia „pip install matplotlib”

C:\Users\Asus>pip install matplotlib
Downloading/unpacking matplotlib
  Downloading matplotlib-2.0.0b4.tar.gz (unknown size):
Harsh Dobariya
źródło
0

Jeśli uruchamiasz te polecenia w kontenerze platformy Docker w systemie Windows, może to oznaczać, że połączenie sieciowe komputera Docker jest nieaktualne i należy je odbudować. Aby to naprawić, uruchom następujące polecenia:

docker-machine stop
docker-machine start
@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i
speedplane
źródło
0

Teraz rozumiem $HOME/.pip/pip.log:

Could not fetch URL https://pypi.python.org/simple/: HTTP Error 403: TLSv1.2+ is required

Nie mam na to prostego rozwiązania, ale wspominam o tym jako o czymś, na co należy uważać, zanim stracisz czas na wypróbowanie niektórych innych rozwiązań tutaj.

  • Oczywiście używam już adresu URL https
  • Nie ma problemu z serwerem proxy lub zaporą
  • Używanie trusted-hostniczego nie zmieniło (nie wiem, gdzie to odebrałem)

Bo to, co jest warte, openssljest zbyt stare, żeby w ogóle mieć, ssl.OPENSSL_VERSIONwięc może to naprawdę wyjaśnienie tutaj.

W końcu wyczyszczenie mojego środowiska wirtualnego i odtworzenie go za pomocą virtualenv --setuptools envwydaje się naprawiać przynajmniej główne blokady.

To jest na naprawdę starym pudełku Debiana, Pythonie 2.6.6.

tripleee
źródło
0

Moim problemem była virtualenvwersja systemu .

Kiedy stworzyłem env z python3 venv, wszystko działało. Ale kiedy użyłem virtualenv (domyślnie w pythonie 2.7) do utworzenia env, otrzymuję te komunikaty o błędach.

W virtualenvutworzonej wersji pip była 1.5.6, ale moja wersja pip systemu była10.0.1

Potem pobiegłem (poza jakimkolwiek środowiskiem):

pip install virtualenv --upgrade

Uaktualniono go virtualenvdo wersji, 16.0.0a teraz moja pip installw środowiskach utworzonych za pomocą programu virtualenvi python2.7działa bezbłędnie. Ponadto pipwersja wewnątrz pliku env jest teraz 10.0.1.

Przed aktualizacją:

Maximiliano Guerra
źródło