falha na conexão do pip: não é possível buscar o URL base do índice http://pypi.python.org/simple/

89

Eu corro sudo pip install git-reviewe recebo as seguintes mensagens:

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

Alguém tem alguma ideia sobre isso?

Sai Wai Maung
fonte
4
Deve ser uma conexão proxy
Ossama
1
"nenhum deles parece resolver meu problema" Quais são estes? Para que não nos repitamos.
RandomSeed

Respostas:

142

Sei que esse é um tópico antigo, mas encontrei esse problema hoje e queria compartilhar minha solução para o problema porque não vi essa solução em nenhum outro lugar do SO.

Meu ambiente: Python 2.7.12 / 2.7.14 no Ubuntu 12.04.5 LTS em um virtualenv, pip versão 1.1.

Meus erros:

pip install nose

no console:

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

em ~ / .pip / pip.log:

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

Curioso para mim porque eu estava executando esses mesmos comandos em um script sem problemas por cerca de um ano.

isso corrigiu:

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

(observe o https)

Espero que isso ajude alguém!

Mattdedek
fonte
Muito obrigado! Eu também estava tendo esse problema no Ubuntu 12.04, que tinha um pip 1.0 from /usr/lib/python2.7/dist-packages (python 2.7)instalado, que estava efetivamente inutilizável.
Josh Kupershmidt
O senhor merece uma medalha. Eu estava tendo esse problema com meu beaglebone black. Agora está consertado.
Aditya Shekhawat
Muitas respostas aqui. Nenhum deles relevante / funcionou para mim, exceto este. Obrigado!
arielf
pip install --index-url=http://mypypi.net/simple/lança um erroERROR: You must give at least one requirement to install (see "pip help install")
Confundido em
@Confounded - Obrigado por apontar isso, apenas liste os pacotes que deseja instalar após a opção --index-url. Veja a atualização para um exemplo.
mattdedek
59

Você precisa atualizar a instalação do pip .

A opção --index-url(versão curta -i:) permite que você especifique um URL de índice na chamada para o próprio pip, onde você pode usar a variante https. Então você pode instruir o pip a se atualizar.

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

Depois disso, você deve ser capaz de usar o pip sem a --index-urlopção.


Acredito que a versão 7.0.0 (21/05/2015) desencadeou esse problema. A nota de lançamento para essa versão afirma o seguinte:

BACKWARD INCOMPATÍVEL Não suporta mais implicitamente uma origem de origem insegura e, em vez disso, exige que origens inseguras recebam a --trusted-hostopção explicitamente .

Você pode verificar sua versão do pip com pip --version.

Isso significaria que emitir sudo pip install --trusted-host --upgrade pipuma vez também resolveria esse problema, embora baixe pip em http inseguro. Isso também pode não funcionar, porque é possível que o ponto de extremidade inseguro não esteja mais acessível no servidor (eu não testei isso).

Daniel F
fonte
42

EDITAR:

A versão atual do PIPnão tem mais esse problema. A partir de agora, version: 7.1.2é a versão atual. Aqui está o PIPlink:

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

CORREÇÃO ORIGINAL:

Eu tenho esse problema ao tentar usar pip==1.5.4

Este é um problema relacionado aos certificados SSL confiáveis ​​do PIP e do PYPI do Python. Se você olhar no log do PIP no Mac OS X em: /Users/username/.pip/pip.log, você obterá mais detalhes.

Minha solução para fazer o PIP voltar a funcionar depois de horas tentando coisas diferentes era ir aos pacotes do meu site em Python, seja em um virtualenv ou em seus pacotes de site normais , e se livrar da versão PIP atual. Para mim eu tivepip==1.5.4

Excluí o diretório PIP e o arquivo PIP egg. Então eu corri

easy_install pip==1.2.1  

Esta versão do PIP não tem o problema de SSL, e então fui capaz de ir e executar meu normal pip install -r requirements.txtdentro do meu virtualenv para configurar todos os pacotes que eu queria que estivessem listados em meu requirements.txtarquivo.

Este também é o hack recomendado para passar o problema por várias pessoas neste Grupo do Google que encontrei:

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

Aaron Lelevier
fonte
Resolvido o problema para mim também.
HorseloverFat
6
Para sua informação, se você está lendo isso agora (como eu fiz), deve atualizar o pip em vez de rebaixá-lo. Fiquei muito surpreso ao perceber que estava 5 versões principais atrasado (estamos na 6.0.8 agora). A atualização corrigiu o problema :)
Dr. Acula
@ Dr.Acula você está correto. Eu atualizei minha resposta. Obrigado.
Aaron Lelevier
"você deve atualizar o pip" Não posso atualizar o pip pela mesma razão que não consigo instalar os pacotes; HTTP Error 403: SSL is required
user5359531
9
@ user5359531 Baixe o tarball pip do PyPI e faça pip install pip-x.x.x.tar.gz.
Pelle Nilsson
13

Eu adicionei a opção de linha de comando --proxy para apontar para o proxy e ele está funcionando (a versão do pip é 1.5.4 e o python 2.7). por algum motivo, ele não estava usando as variáveis ​​env do shell HTTPS_PROXY, HTTP_PROXY, https_proxy, http_proxy.

sudo pip --proxy [user:passwd@]proxy.server:port install git-review
Chelfi
fonte
esses colchetes são necessários para o usuário? por que o símbolo @ é usado após a senha?
user13107
12

Verifique sua conexão proxy, eu tive um problema semelhante, então mudei minha conexão que não estava com proxy e boom, comecei a baixar e configurar a biblioteca

Ossama
fonte
1
Como você mudou sua conexão proxy para fazê-la funcionar? Estou tendo o mesmo problema.
Aaron Lelevier
Eu removi o proxy e mudei a conexão para uma sem proxy e então uma vez instalado eu mudei de volta para conexão de trabalho
Ossama
Estou enfrentando o mesmo problema e tenho certeza que é um problema de proxy. Existe uma solução alternativa diferente de usar outra conexão?
shaunakde
Eu conectei meu telefone para contornar o proxy da minha empresa. Ótima solução.
HuckIt de
1
Meu problema era que o Fiddler estava aberto (e eu tinha configurado o Fiddler para descriptografar o tráfego HTTPS). Fechei o Fiddler e funcionou bem.
AJ Richardson
6

Eu tive o mesmo problema com pip==1.5.6. Tive que corrigir a hora do meu sistema.

# date -s "2014-12-09 10:09:50"
OrangeTux
fonte
1
Outra maneira de corrigir a hora do sistema é usar o daemon ntp.
Jaime M.
funcionou muito bem para mim, fiquei feliz por ser tão simples de consertar
jamescampbell
6

Eu tive o mesmo problema com o pip 1.5.6.

Acabei de excluir a pasta ~ / .pip e funcionou perfeitamente.

rm -r ~/.pip/
GusC
fonte
5

Isso funcionou para mim no Ubuntu 12.04.

pip install --index-url=https://pypi.python.org/simple/ -U scikit-learn
Ramnar
fonte
4

Se isso não for um problema de proxy / rede, você deve tentar criar / editar o arquivo de configuração .pip/pip.confou se estiver executando o pip como root /root/.pip/pip.conf. Verifique e altere o URL do índice de http para https .

Deve ser assim:

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

Funcionou para mim com Ubuntu 12 e pip 9.0.1

Alex
fonte
3

funciona!

sudo pip --proxy = http://202.194.64.89:8000 instalar elasticsearch ; 202.194.64.89:8000 é meu PROXY,

user6361148
fonte
2

Consegui consertar isso atualizando meu python, que havia sido anexado a uma versão desatualizada do OpenSSL. Agora ele está usando 1.0.1h-1 e meu pacote irá instalar rapidamente.

Para sua informação, meu log e comandos, usando anaconda e instalando o pacote 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] Meu tíquete sobre esse assunto; https://github.com/zonca/pytest-ipynb/issues/1

AnneTheAgile
fonte
Desculpe, não tenho certeza por que a formatação adicionou tantas linhas em branco?
AnneTheAgile
1

Eu enfrentei o mesmo problema, mas era proxy relacionado. foi resolvido definindo proxy.

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

Isso pode ajudar alguém.

Jugal Panchal
fonte
1

Se o seu proxy estiver configurado corretamente, a versão 1.5.6 do pip tratará disso corretamente. O bug foi resolvido.

Você pode atualizar o pip com easy_install pip==1.5.6

Sheldonkreger
fonte
1

Resposta extra: se você estiver fazendo isso em chroot .

Você precisa de uma fonte de números aleatórios para poder estabelecer uma conexão segura com o pypi.

No Linux, você pode ligar-montar o host dev ao chroot dev:

mount --bind /dev /path-to-chroot/dev
Dima Tisnek
fonte
1

Eu também recebi este erro ao instalar o pyinstaller em uma conexão proxy. Acabei de conectar a conexão direta com a Internet (usando meu dongle) e fiz isso de novo.

 sudo pip install pyinstaller

Isso funcionou para mim.

RYJ
fonte
1

Pode estar faltando uma configuração de servidor DNS em /etc/resolv.conf

certifique-se de que você pode executar ping em: ping pypi.python.org

se você não estiver obtendo um ping, tente adicionar um servidor DNS ao arquivo ... algo como:

nameserver xxx.xxx.xxx.xxx

Ohad o rapaz
fonte
1

Minha explicação / consulta é para o ambiente Windows .
Eu sou muito novo em python, e isso é para alguém ainda novato do que eu.
Instalei o pip mais recente (pacote de instalação do python) e baixei binários compatíveis de 32 bits / 64 bits (código aberto) de http://www.lfd.uci.edu/~gohlke/pythonlibs/ e funcionou.

Etapas seguidas para instalar o pip, embora geralmente o pip seja instalado por padrão durante a instalação do python em www.python.org/downloads/
- Baixe pip-7.1.0.tar.gz em https://pypi.python.org/pypi/pip .
- Descompacte e descompacte o arquivo acima.
- Na pasta pip-7.1.0, execute: python setup.py install. Esta versão mais recente do pip instalado.

Use pip para instalar (qualquer operação viável) pacote binário. Execute o aplicativo pip para fazer o trabalho (instale o arquivo), conforme abaixo:
\ python27 \ scripts \ pip2.7.exe install file_path \ file_name --proxy
Se você enfrentar o problema de roda (ou seja, ovo), use o arquivo de pacote binário compatível . Espero que isto ajude.

Pavan Gowda
fonte
1

No meu caso (Python 3.4, em um ambiente virtual, rodando no macOS 10.10.6), não consegui nem mesmo fazer o upgrade pip. A ajuda veio desta resposta SO na forma do seguinte one-liner:

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

(Se você não usa um ambiente virtual, pode ser necessário sudo python.)

Com isso, consegui atualizar pipda versão 1.5.6 para a versão 10.0.0 (um salto e tanto!). Esta versão não usa TLS 1.0 ou 1.1, que não são mais suportados pelo (s) site (s) Python.org, e pode instalar pacotes PyPI muito bem. Não há necessidade de especificar --index-url=https://pypi.python.org/simple/.

Laryx Decidua
fonte
1

no meu caso eu instalaria django (

pip install django

) e tem o mesmo problema com o certificado SSL (não é possível buscar o URL base do índice http://pypi.python.org/simple/ )

é do virtualenv, então FAÇA:

PRIMEIRO: exclua seu virtualenv

desativar rm -rf env

SEGUNDO: verifique se tem pip

pip3 -V

se você não tem

sudo apt-get install python3-pip

FINALMENTE:

instale o virtualenv com nosite-packages e faça seu virenviroment

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

. env / bin / ativar

ME76SS
fonte
0

Tive um problema semelhante, mas no meu caso estava recebendo o erro:

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

No meu caso, consegui corrigir o erro editando ~ / .pip / pip.conf e alterando http://c.pypi.python.org/simple/para http://pypi.python.org/simplee pip funcionou bem novamente.

Lurchman
fonte
0

Recebi esta mensagem de erro em ~/.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

Eu consertei atualizando meu ~/.pip/pip.conf. Ele acidentalmente apontou para um cacert.pemarquivo que não existia e se parecia com este

[global]
cert = /some/path/.pip/cacert.pem
Fred Schoen
fonte
0

Eu costumava usar a easy_install pip==1.2.1solução alternativa, mas descobri aleatoriamente que se você está tendo esse bug, provavelmente instalou uma versão de 32 bits do python.

Se você instalar uma versão de 64 bits dele a partir da fonte e, em seguida, construir seu virtualenv sobre ele, você não terá mais aquele bug do pip.

lapin
fonte
0

Eu também usei a solução escolhida (downgrade do pip) para contornar esse problema até que encontrei outro problema aparentemente não relacionado, causado pelo mesmo problema subjacente. A versão do OpenSSL para Python estava desatualizada. Verifique sua versão do OpenSSL:

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

Se a versão for 0.9.7, isso deve verificar se o OpenSSL precisa ser atualizado. Se você sabe como fazer isso diretamente, ótimo (mas, por favor, deixe-me saber em um comentário). Caso contrário, você pode seguir o conselho desta resposta e reinstalar o python do instalador de 64 bits / 32 bits em vez do instalador somente de 32 bits de python.org (estou usando o python 3.4.2). Agora tenho a versão OpenSSL 0.9.8e nenhum desses problemas.

gerald.guisse
fonte
0

Tente fazer a reinstalação do 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

Se curl não funcionar, você terá problemas de proxy. Corrija que deve funcionar bem. Verifique depois de abrir google.com em seu navegador no Linux.

Tentar instalar

pip install virtualenv
Manas
fonte
0

Caso você use um firewall, certifique-se de que as conexões de saída para a porta 443 não estejam bloqueadas, por exemplo, execute:

sudo iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
Eugene Yarmash
fonte
0

Eu encontrei as mesmas perguntas com você. Quando eu percebo que pode ser causado por uma versão incomparável do numpy ou pip, desinstalei o numpy e o pip, continue assim ' https://radimrehurek.com/gensim/install.html ', finalmente consegui!

myechona
fonte
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

Usei 'easy_install pip == 1.2.1' e funcionou bem.

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

Então, ao usar este comando 'pip install matplotlib'

C:\Users\Asus>pip install matplotlib
Downloading/unpacking matplotlib
  Downloading matplotlib-2.0.0b4.tar.gz (unknown size):
Harsh Dobariya
fonte
0

Se você estiver executando esses comandos em um contêiner do Docker no Windows, pode significar que a conexão de rede da sua máquina docker está obsoleta e precisa ser reconstruída. Para consertar, execute estes comandos:

docker-machine stop
docker-machine start
@FOR /f "tokens=*" %i IN ('docker-machine env') DO @%i
avião rápido
fonte
0

Agora estou conseguindo isso em $HOME/.pip/pip.log:

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

Não tenho uma solução direta para isso, mas estou mencionando isso como algo a ser observado antes que você perca tempo tentando algumas das outras soluções aqui.

  • Obviamente, já estou usando um URL https
  • Não há problema de proxy ou firewall
  • Usar trusted-hostnão mudou nada (não sei de onde tirei isso)

Pelo que vale, meu opensslé velho demais para terssl.OPENSSL_VERSION então talvez essa seja realmente a explicação aqui.

No final, limpar meu ambiente virtual e recriá-lo virtualenv --setuptools envparece ter corrigido pelo menos os principais bloqueadores.

Este é um pacote Debian muito antigo, Python 2.6.6.

triplo
fonte
0

Meu problema era o sistema virtualenv versão .

Quando criei um env com python3 venv tudo funcionou. Mas quando usei o virtualenv (por padrão com python2.7) para criar um env, recebo essas mensagens de erro.

No virtualenvcriado, a versão do pip era 1.5.6, mas minha versão do pip do sistema era10.0.1

Então eu corri (fora de qualquer env):

pip install virtualenv --upgrade

Ele foi atualizado virtualenvpara a versão 16.0.0e agora está pip installno envs criado virtualenve python2.7funciona perfeitamente. Além disso, a pipversão dentro do env é agora 10.0.1.

Antes da atualização:

Maximiliano Guerra
fonte