Eu sou muito novo em Python e estou tentando > pip install linkchecker
no Windows 7. Algumas notas:
- A instalação do pip está falhando, não importa o pacote. Por exemplo,
> pip install scrapy
também resulta no erro SSL. - A instalação baunilha do Python 3.4.1 incluiu o pip 1.5.6. A primeira coisa que tentei fazer foi instalar o linkchecker. O Python 2.7 já estava instalado, veio com o ArcGIS.
python
epip
não estavam disponíveis na linha de comando até a instalação do 3.4.1. > pip search linkchecker
trabalho. Talvez seja porque a pesquisa por pip não verifica o certificado SSL do site.- Estou em uma rede da empresa, mas não passamos por um proxy para acessar a Internet.
- Cada computador da empresa (incluindo o meu) possui uma Autoridade de Certificação Raiz Confiável usada por vários motivos, incluindo a habilitação do monitoramento do tráfego TLS para https://google.com . Não tenho certeza se isso tem algo a ver com isso.
Aqui está o conteúdo do meu pip.log após a execução pip install linkchecker
:
Downloading/unpacking linkchecker
Getting page https://pypi.python.org/simple/linkchecker/
Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
Getting page https://pypi.python.org/simple/
Could not fetch URL https://pypi.python.org/simple/: connection error: HTTPSConnectionPool(host='pypi.python.org', port=443): Max retries exceeded with url: /simple/ (Caused by <class 'http.client.CannotSendRequest'>: Request-sent)
Will skip URL https://pypi.python.org/simple/ when looking for download links for linkchecker
Cannot fetch index base URL https://pypi.python.org/simple/
URLs to search for versions for linkchecker:
* https://pypi.python.org/simple/linkchecker/
Getting page https://pypi.python.org/simple/linkchecker/
Could not fetch URL https://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
Will skip URL https://pypi.python.org/simple/linkchecker/ when looking for download links for linkchecker
Could not find any downloads that satisfy the requirement linkchecker
Cleaning up...
Removing temporary dir C:\Users\jcook\AppData\Local\Temp\pip_build_jcook...
No distributions at all found for linkchecker
Exception information:
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
status = self.run(options, args)
File "C:\Python34\lib\site-packages\pip\commands\install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundle=self.bundle)
File "C:\Python34\lib\site-packages\pip\req.py", line 1177, in prepare_files
url = finder.find_requirement(req_to_install, upgrade=self.upgrade)
File "C:\Python34\lib\site-packages\pip\index.py", line 277, in find_requirement
raise DistributionNotFound('No distributions at all found for %s' % req)
pip.exceptions.DistributionNotFound: No distributions at all found for linkchecker
Respostas:
-----> pip install gensim config --global http.sslVerify false
Basta instalar qualquer pacote com a instrução "config --global http.sslVerify false"
Você pode ignorar erros de SSL configurando
pypi.org
efiles.pythonhosted.org
como hosts confiáveis.Nota : Em abril de 2018, o Python Package Index foi migrado de
pypi.python.org
parapypi.org
. Isso significa que os comandos "host confiável" que usam o domínio antigo não funcionam mais.Correção permanente
Desde o lançamento do pip 10.0, você deve consertar isso permanentemente apenas atualizando
pip
:Ou apenas reinstalando-o para obter a versão mais recente:
(… E depois executando
get-pip.py
com o interpretador Python relevante).pip install <otherpackage>
deve funcionar depois disso. Caso contrário, você precisará fazer mais, conforme explicado abaixo.Você pode adicionar os hosts e proxy confiáveis ao seu arquivo de configuração .
pip.ini
(Windows) oupip.conf
(unix)Soluções alternativas (menos seguras)
A maioria das respostas pode representar um problema de segurança.
Duas das soluções alternativas que ajudam na instalação da maioria dos pacotes python com facilidade seriam:
easy_install <package_name>
. Observe que alguns pacotes não serão encontrados ou apresentarão pequenos erros.pip install wheel_package_name.whl
para instalar o pacote.fonte
pip install --trusted-host pypi.python.org pypi_package
. O uso--verbose
mostra que--trusted-host
, sem , a conexão HTTPS falha, enquanto a mesma conexão HTTPS é tentada (não HTTP),--trusted-host
mas é bem-sucedida.pip install --trusted-host pypi.python.org pythonPackage
Você pode especificar um certificado com este parâmetro:
Consulte: Documentos »Guia de referência» pip
Se especificar o certificado raiz da sua empresa não funcionar, talvez o cURL funcione: http://curl.haxx.se/ca/cacert.pem
Você deve usar um arquivo PEM e não um arquivo CRT. Se você possui um arquivo CRT, precisará convertê-lo para PEM. Existem relatórios nos comentários de que isso agora funciona com um arquivo CRT, mas eu não o verifiquei.
Verifique também: Verificação de certificado SSL .
fonte
pip.conf
arquivo de tê-los referenciado permanentemente sem especificar no comandoA resposta do kenorb é muito útil (e ótima!).
Entre suas soluções, talvez essa seja a mais simples:
--trusted-host
Por exemplo, neste caso, você pode fazer
O arquivo pem (ou qualquer outra coisa) é desnecessário.
fonte
pip list --trusted-host pypi.python.org --outdated
Para mim, o problema foi corrigido através da criação de uma pasta
pip
, com um arquivo:pip.ini
porC:\Users\<username>\AppData\Roaming\
exemplo:Dentro dele eu escrevi:
Reiniciei o python e, em seguida, o pip confiava permanentemente nesses sites e os usava para baixar pacotes.
Se você não conseguir encontrar a pasta AppData no Windows, escreva
%appdata%
no explorador de arquivos e ela deve aparecer.fonte
As respostas são bastante semelhantes e um pouco confusas. No meu caso, os certificados na rede da minha empresa eram o problema. Consegui solucionar o problema usando:
Como visto aqui . O argumento -vvv pode ser omitido se a saída detalhada não for necessária
fonte
Correção permanente
Por exemplo:
fonte
Para resolver esse problema de uma vez por todas, você pode verificar se possui um
pip.conf
arquivo.É aqui que você
pip.conf
deve estar, de acordo com a documentação :Dentro de um virtualenv:
Você
pip.conf
deve se parecer com:pip install linkchecker
instaladolinkchecker
sem reclamações depois que eu criei opip.conf
arquivo.fonte
pip
guia do usuário foi atualizado desde quando publiquei esta resposta. Atualizei minha resposta para o macOS. Ajuda?brew
, certifique-se de estar usandopip3
e crie opip.conf
as$HOME/.config/pip/pip.conf
. Eu trabalhei para mim.A maneira mais direta que encontrei é fazer o download e usar o "DigiCert High Assurance EV Root CA" do DigiCert em https://www.digicert.com/digicert-root-certificates.htm#roots
Você pode visitar https://pypi.python.org/ para verificar o emissor do certificado, clicando no ícone de cadeado na barra de endereço ou aumentar seu crédito de nerd usando o openssl:
O último valor de CN na cadeia de certificados é o nome da CA da qual você precisa fazer o download.
Para um esforço único, faça o seguinte:
(a última linha assume que você está usando o shell bash) antes de executar o pip.
Para tornar isso reutilizável, coloque DigiCertHighAssuranceEVRootCA.crt em algum lugar comum e exporte PIP_CERT adequadamente em seu ~ / .bashrc.
fonte
Você tem as seguintes possibilidades para resolver problemas
CERTIFICATE_VERIFY_FAILED
:--index-url=http://pypi.python.org/simple/
).Use
--cert <trusted.pem>
ouCA_BUNDLE
variável para especificar um pacote CA alternativo.Por exemplo, você pode acessar a URL com falha do navegador da web e importar o certificado raiz para o seu sistema.
Execute
python -c "import ssl; print(ssl.get_default_verify_paths())"
para verificar a atual (valide se existir).SSL_CERT_DIR
,SSL_CERT_FILE
) que podem ser usados para especificar diferentes bancos de dados de certificados PEP-476 .--trusted-host <hostname>
para marcar o host como confiável.verify=False
forrequests.get
(consulte: SSL Cert Verification ).--proxy <proxy>
para evitar verificações de certificado.Leia mais em: Wrapper TLS / SSL para objetos de soquete - Verificando certificados .
fonte
Defina a hora e a data corretas!
Para mim, soube que minha data e hora estavam configuradas incorretamente no Raspberry Pi. O resultado foi que todas as conexões SSL e HTTPS falharam, usando o servidor https://files.pythonhosted.org/ .
Atualize-o assim:
Ou diretamente com, por exemplo, o tempo do Google:
Ref .: https://superuser.com/a/635024/935136
fonte
Recentemente, encontrei esse problema por causa do filtro de conteúdo da web da minha empresa que usa sua própria Autoridade de Certificação para poder filtrar o tráfego SSL. O PIP não parece estar usando os certificados CA do sistema no meu caso, produzindo o erro que você mencionou. O downgrade do PIP para a versão 1.2.1 apresentou seu próprio conjunto de problemas posteriormente, então voltei à versão original que acompanha o Python 3.4.
Minha solução alternativa é bastante simples: use
easy_install
. Ou ele não verifica os certificados (como a versão antiga do PIP) ou sabe usar os certificados do sistema porque funciona todas as vezes para mim e ainda posso usar o PIP para desinstalar os pacotes instalados com o easy_install.Se isso não funcionar e você puder obter acesso a uma rede ou computador que não tenha esse problema, sempre poderá configurar seu próprio servidor PyPI pessoal: como criar um índice local do repositório pypi sem espelho?
Eu quase fiz isso até tentar usar
easy_install
como último esforço.fonte
pip
para usá-lo--cert MyCompanyRootCA.crt
.Você pode tentar ignorar o erro SSL usando http em vez de https. É claro que isso não é o ideal em termos de segurança , mas se você estiver com pressa, deve fazer o truque:
fonte
Could not fetch URL http://pypi.python.org/simple/linkchecker/: connection error: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598)
As respostas a serem usadas
trabalhos. Mas você terá que verificar se há redirecionamentos ou caches
pip
. No Windows 7 compip 9.0.1
, eu tive que correrVocê pode encontrá-los com a bandeira detalhada.
fonte
Instalei o pip 1.2.1 com easy_install e atualizei para a versão mais recente do pip (6.0.7 na época), que é capaz de instalar pacotes no meu caso.
fonte
Você tem 4 opções:
Usando um certificado como parâmetro
Usando um certificado em um
pip.conf
Crie este arquivo:
e adicione estas linhas:
Ignorando certificado e usando HTTP
Ignorando certificado e usando HTTP em um pip.conf
Crie este arquivo:
e adicione estas linhas:
Fonte
fonte
Em primeiro lugar,
não funcionou para mim. Continuei recebendo o erro CERTIFICATE_VERIFY_FAILED. No entanto, notei nas mensagens de erro que eles faziam referência ao site 'pypi.org'. Então, usei isso como o nome do host confiável, em vez de pypi.python.org. Isso quase me levou até lá; a carga ainda estava falhando com CERTIFICATE_VERIFY_FAILED, mas posteriormente. Encontrando a referência ao site que estava falhando, incluí-o como um host confiável. O que acabou por funcionar para mim foi:
fonte
Não tenho certeza se isso está relacionado, mas tive um problema semelhante que foi corrigido ao copiar esses arquivos do Anaconda3 / Library / bin para o Anaconda3 / DLLs:
libcrypto-1_1-x64.dll
libssl-1_1-x64.dll
fonte
Teve o mesmo problema ao tentar
pip install ftputil
com o ActivePython 2.7.8, ActivePython 3.4.1 e "estoque" Python 3.4.2 no Windows 7 Enterprise de 64 bits. Todas as tentativas falharam com os mesmos erros do OP.Solução do problema do Python 3.4.2 fazendo o downgrade para o pip 1.2.1:
easy_install pip==1.2.1
(consulte https://stackoverflow.com/a/16370731/234235 ). A mesma correção também funcionou para o ActivePython 2.7.8.O bug, relatado em março de 2013, ainda está aberto: https://github.com/pypa/pip/issues/829 .
fonte
Nada nesta página funcionou para mim até que eu usei a opção --verbose para ver que ela queria acessar files.pythonhosted.org em vez de pypi.python.org:
Portanto, verifique o URL no qual está realmente falhando através da opção --verbose.
fonte
Resolvi esse problema removendo meu pip e instalando a versão mais antiga do pip: https://pypi.python.org/pypi/pip/1.2.1
fonte
include the essential parts of the answer here
já que é um link para um arquivo binário ...?Você pode tentar isso para ignorar "https":
fonte
pip install --trusted-host pypi.python.org --upgrade pip –
Uma solução ( para Windows ) é criar um arquivo chamado
pip.ini
na%AppData%\pip\
pasta (crie a pasta se ela não existir) e insira os seguintes detalhes:... e então podemos executar a instrução de instalação:
Outra opção é instalar o pacote usando argumentos para o proxy e o certificado ...
Para converter os
*.cer
arquivos de certificado no*.pem
formato necessário , execute a seguinte instrução:Espero que isso ajude alguém!
fonte
pip3.6 config set global.cert '/<path>/server.crt'
No meu caso, foi devido ao certificado SSL ser assinado pela CA interna da minha empresa. Usar soluções alternativas como
pip --cert
não ajudou, mas o seguinte pacote ajudou:Veja: https://pypi.org/project/pip-system-certs/
fonte
pip_system_certs
quebrou completamente meu ambiente Python e, por esse motivo, essa não é uma boa resposta. Não instale pip_system_certs. Consulte stackoverflow.com/questions/27835619/… para obter mais informações.para mim, isso ocorre porque anteriormente eu estou executando um script que define o proxy (para violinista), reabrindo o console ou reinicializando corrigindo o problema.
fonte
Recentemente, enfrentei o mesmo problema no python 3.6 com o visual studio 2015. Depois de dois dias, obtive a solução e ela está funcionando bem para mim.
Recebi o erro abaixo ao tentar instalar o numpy usando o pip ou no visual studio Não foi possível buscar o URL https://pypi.python.org/simple/numpy/ : ocorreu um problema ao confirmar o certificado ssl: [SSL: CERTIFICATE_VERIFY_FAILED] falha na verificação do certificado (_ssl.c: 748) - ignorando Não foi possível encontrar uma versão que atenda ao requisito numpy (das versões:) Nenhuma distribuição correspondente encontrada para numpy
Resolução:
Para sistema operacional Windows
[global]
trust-host = pypi.python.org Salve e feche o arquivo. Agora instale usando o pip / visual studio, ele funciona bem.
fonte
No meu caso, eu estava executando o Python na imagem mínima do docker alpino. Faltavam certificados de CA raiz. Consertar:
apk update && apk add ca-certificates
fonte
A resposta de Vaulstein me ajudou.
Não encontrei o arquivo pip.ini em nenhum lugar do meu pc. O mesmo aconteceu com o seguinte.
Ou simplesmente digite% AppData% no Windows Explorer.
Crie uma pasta chamada pip dentro dessa pasta appdata.
Na pasta pip que você acabou de criar, crie um arquivo de texto simples chamado pip.ini
Após as seguintes definições de configuração nesse arquivo, use um editor simples de sua escolha.
arquivo pip.ini:
Agora você deve estar pronto para ir.
fonte
Eu enfrentei um problema semelhante. A solução que funcionou para mim 1) desinstalar o python 2.7 2) excluir a pasta python27 3) reinstalar o último python
fonte
Para mim, nenhum dos métodos sugeridos funcionou - usando cert, HTTP, host confiável.
No meu caso, alternar para uma versão diferente do pacote funcionou (paho-mqtt 1.3.1 em vez de paho-mqtt 1.3.0 nesta instância).
Parece que o problema foi específico para essa versão do pacote.
fonte
Você pode ter esse problema se alguns certificados estiverem ausentes no sistema.eg no opensuse install ca-certificates-mozilla
fonte