O pip é configurado com locais que exigem TLS / SSL, no entanto, o módulo ssl no Python não está disponível

209

Estou usando o Python3.6, quando tento instalar "módulos" usando pip3, enfrento o problema mencionado abaixo "o pip está configurado com locais que exigem TLS / SSL, no entanto, o módulo ssl no Python não está disponível"

Santosh Kumar G
fonte
1
sistema operacional?
ZiTAL 30/08
1
se for os x: stackoverflow.com/questions/35280956/…
ZiTAL 30/08
1
O sistema operacional é o oracle linux 7.x
Santosh Kumar G
1
Você instalou o pip a partir do gerenciador de pacotes? Se você instalou a compilação, primeiro instale libssl-devou instale o ssl do pip pip install ssl stackoverflow.com/questions/41098252/…
ZiTAL
37
@ZiTAL pipnão funciona becuse ssle você pedir para instalar ssl, com pip :)
Ramazan Polat

Respostas:

189

Para o Windows 10, se você deseja usar o pip no cmd normal, não apenas no prompt do Anaconda. você precisa adicionar 3 caminhos de ambiente. como os seguintes:

D:\Anaconda3; 
D:\Anaconda3\Scripts; 
D:\Anaconda3\Library\bin 

a maioria das pessoas adiciona apenas D: \ Anaconda3 \ Scripts;

无名 小路
fonte
1
Obrigado, eu adicionei D: \ Anaconda3 \ Library \ bin e funciona, pela maneira como o libssl-1_1-x64.dll está nessa pasta. (win10x64, python 3.7)
apet 7/10/19
Quando você adiciona os três no caminho, feche o cmd e tente novamente.
user3568896
O que você quer dizer com caminhos do ambiente? você quer dizer a variável de ambiente PATH? Além disso, eu não tenho essas pastas na minha unidade D, elas devem ser criadas quando eu instalo o Anaconda?
Amit Raz
Também para Windows 8.1
Antoine
1
Isso NÃO funciona se você não estiver usando o Anaconda. Eu enfrentei esse problema com as instalações OSGeo4W64 e QGIS 3.10.2. Adicionar o que eu recolho são os caminhos corretos para a variável PATH não corrige o problema (ex:) C:\Program Files\QGIS 3.10\apps\Python37\Scripts.
CNIDog 18/02
177

MAC OS

Eu tive o mesmo problema no Mac OS (Mojave) e resolvi o problema mencionado neste link - questão do Openssl .

  1. Se você não possui o Homebrew ou não sabe o que é o Homebrew:

    / usr / bin / ruby ​​-e "$ (curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"

  2. Ou se você já possui o Homebrew instalado:

brew update && brew upgrade
brew uninstall --ignore-dependencies openssl; brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

Atualização: lembre-se de que eu tive que usar --ignore-dependenciessinalizador, porque outros pacotes instalados que dependem do OpenSSL.

Adicional se o problema for causado após o uso do pyenv , você poderá corrigi-lo usando:

brew reinstall python
Vaulstein
fonte
5
Depois de instalar outra Python versão, o pip foi quebrado. esta solução me ajudou a reparar.
IMitwe
15
por que o github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb também é adicionado como uma dependência? :) Eu acho que deve ser removido, pois é totalmente não relacionado e potencialmente inseguro
Mark
1
Entendo que poderia ser um risco à segurança, mas todos os usuários pediram para usar o pacote no link oficial do pacote - github.com/kelaberetiv/TagUI/issues/635
Vaulstein
1
@ Vaulstein Agora que você mencionou. Acho que instalei alguns pacotes usando o brew também antes que isso acontecesse. Foi gpg.
addicted
2
Depois de atualizar de Mojavepara Catalina, eu acertei isso. Eu só precisava brew update && brew upgradeque funcionasse novamente. Obrigado pelo conselho!
rustyMagnet 7/04
35

Para usuários do Debian, pode ser útil o seguinte:

sudo -s

apt install libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev libtk8.5 libgdm-dev libdb4o-cil-dev libpcap-dev

Em seguida, cd para a pasta com o código-fonte da biblioteca Python 3.X e execute:

./configure
make
make install
Rafael B
fonte
@MehmetKurtipek, editei a resposta para esclarecer uma etapa. Se isso ainda não ajudar, esclareça o seu problema
Rafael B
5
Aconteceu que o Python3.7 tem bons problemas junto com o Ubuntu 14.04 e versões mais antigas. O pacote SSL mínimo necessário para o Python3.7 não é compatível com o ubuntus antigo. Então, obrigado pela edição :)
Mehmet Kurtipek
@MehmetKurtipek Meu servidor é 1404. Então, qual é a versão mais recente do python que não tem esse problema. Eu tenho python 3.7.4 tem o mesmo problema ...
uma oferta não pode recusar
@MehmetKurtipek Você resolveu o problema sem atualizar o sistema? Também estou trabalhando no 14.04
uma oferta não pode ser recusada
usando mint19 e python 3.8, isso corrigiu o meu problema
5uperdan
21

Para futuros usuários do Oracle Linux tentando resolver isso, abaixo está o que funcionou para mim. Primeiro instale as bibliotecas ausentes:

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel 
readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

Em seguida, cd para a sua biblioteca Python3.X e execute:

make
make install 
limboy
fonte
1
Esta resposta tem abordado o problema bem no meu CentOS 7.
Max
O que são essas bibliotecas? Por que eles são necessários?
Mohit Motwani
Fazendo uma conexão segura através da internet requer este - por exemplo, quando você executar 'pip instalar'
limboy
@MohitMotwani - fuhgeddaboudit ... urbandictionary.com/define.php?term=fuhgeddaboudit
barrypicker 28/02
20

Para centos 7:

Instale o openssl:

sudo yum install openssl-devel

agora vá ao diretório python onde extraímos o tar do python,

executar comandos abaixo

sudo ./configure
sudo make
sudo make install

Isso resolverá o problema nos centos ...

PDHide
fonte
10

Para Windows 10, windows 7 Se a instalação do pip não estiver funcionando no prompt do CMD, execute-o usando o prompt do Anaconda - ele funciona.

https://github.com/pypa/virtualenv/issues/1139

Tokci
fonte
6
Eu sei a resposta certa, se você quiser usar o pip no cmd normal, não o prompt do Anaconda, você precisará adicionar 3 caminhos de ambiente: como estes: D: \ Anaconda3; D: \ Anaconda3 \ Scripts; D: \ Anaconda3 \ Library \ bin agora apenas scripts!
无名小路
5

Para o OpenSUSE da mesma maneira, mas algumas alterações nos pacotes listados acima:

zypper install zlib-devel libopenssl-devel ncurses-devel sqlite3-devel readline-devel tk-devel gdbm-devel libpcap-devel xz-devel

Em seguida, cdpara fontes Python dir e

make
make install

ou

make
make altinstall

E talvez

ln -s /usr/local/lib64/python3.6/lib-dynload/ /usr/local/lib/python3.6/lib-dynload

deve ser executado para usuários do OpenSUSE. Consulte Instalação do Python 3.7 não funciona no openSUSE Leap 42.3

Evgeny
fonte
5

No caso de o seu python ser pyenvinstalado, em que o pyenv é instalado com homebrew no macOS, é possível que exista uma versão mais recente disponível que corrija isso:

$ brew update && brew upgrade pyenv

Em seguida, reinstale a versão python:

$ pyenv install 3.7.2
pyenv: /Users/luckydonald/.pyenv/versions/3.7.2 already exists
continue with installation? (y/N) 

Observe que é um pouco sujo substituir a instalação existente do python assim, mas no meu caso funcionou.

luckydonald
fonte
4

Apenas tente instalar através do prompt do Anaconda

Nishant Wattamwar
fonte
4

Trabalhou para mim.

apt-get install libssl-dev

Use isso para ativar o ssl para pip. Deixe-me saber se alguém encontrar problemas.

naman1994
fonte
4

Semelhante à solução acima , reinstale a versão python com pyenv.

De alguma forma, atualizei o meu opensslque quebrou a versão pyenv python.

pyenv install 3.6.8
python-build: use openssl@1.1 from homebrew
python-build: use readline from homebrew
...

A primeira linha diz que se baseia no homebrew openssl.

Izana
fonte
3

Corri para esse problema com o Visual Studio Code instalando o pylint a partir do prompt do VS Code. Consegui superar o problema abrindo o diretório de instalação do Anaconda e executando

pip install pylint

O VS Code ficou satisfeito, mas isso não resolveu o problema como em execução

& C:/Users/happy/Anaconda3/python.exe -m pip install -U pylint

praticamente deu o mesmo erro, então parece que o VS Code não consegue acessar os módulos python.

Observe que o VS Code pega o primeiro env python que ele vê quando instalado, na parte inferior esquerda da tela indica qual env está sendo usado. Clicar nessa área permite definir o ambiente. Portanto, mesmo se você executou a instalação do pip para um ambiente, o VS Code poderia estar olhando para outro.

A melhor abordagem foi garantir que o código VS tivesse o ambiente python correto selecionado e que o mesmo ambiente estivesse no PATH do sistema (em Propriedades do sistema -> Avançado -> Variáveis ​​ambientais)

Sob a variável de caminho, edite e navegue até o diretório Anaconda específico que você deseja que o VSCode use e inclua no PATH, eu precisava adicionar o seguinte:

C:\Users\happy\Anaconda3\
C:\Users\happy\Anaconda3\Scripts\
C:\Users\happy\Anaconda3\Library\bin\
C:\Users\happy\Anaconda3\Library\mingw-w64\bin\

O diretório de instalação do Anaconda pode ser diferente. Uma observação é que o Windows não tem a variável PATH em vigor até você reiniciar o terminal. Nesse caso, feche e reative o código VS. Se estiver usando um Terminal ou Shell PS, feche e reabra e verifique o Path para garantir que ele esteja incluído.

FastGTR
fonte
3

Estou usando o Windows 10 e instalei o Miniconda 3 com o Python 3.7.

Resolvi esse erro seguindo este https://github.com/conda/conda/issues/8273

Especificamente, copiei os seguintes arquivos de C:\Users\MyUser\Miniconda3\Library\binpara C:\Users\MyUser\Miniconda3\DLLs:

  • libcrypto-1_1-x64.dll
  • libcrypto-1_1-x64.pdb
  • libssl-1_1-x64.dll
  • libssl-1_1-x64.pdb
datchung
fonte
2

Se você não possui o Chocolatey, instale-o - a partir daqui: https://chocolatey.org/docs/installation

Você pode simplesmente copiar e colar um forro de linha de comando e executá-lo no prompt de comando com privilégios elevados.

Instale o anaconda, usando a linha de comando:

choco install anaconda3

Defina variáveis ​​de ambiente:

set PATH=C:\tools\Anaconda3\Scripts;C:\tools\Anaconda3;C:\tools\Anaconda3\Library\bin;%PATH%

e execute o comando que falhou. No meu caso, foi:

pip install conan

O Anaconda usa instalação python separada, e o pip também é específico do anaconda.

TarmoPikaro
fonte
1

Como disse o Tokci, também funciona para o Windows 7.

"Vá com o mouse para o ícone do Windows (canto inferior esquerdo) e comece a digitar" Anaconda ". Deverá aparecer algumas entradas correspondentes. Selecione" Anaconda Prompt ". Uma nova janela de comando com o nome" Anaconda Prompt "será aberta."

Então pip funciona.

O seguinte também ajudou a importar o xgboost: https://www.youtube.com/watch?v=05djBSOs1FA

Ayan Omarov
fonte
Procurando o equivalente no linux ... mas, de qualquer maneira, por que isso funcionaria e o uso do pip na linha de comando não? isso só faz sentido se você já reconstruiu o python do anaconda com SSL de antemão em algum momento.
matanster
Eu não tenho idéia por que, mas o que você diz soa razoável
Ayan Omarov
1

Se alguém estiver usando o Arch Linux OS, resolvi o problema do TLS / SSL executando o seguinte:

sudo pacman -S openssl

Então eu poderia usar o pip para instalar o pacote necessário:

pip install openpyxl
Anny Gutierrez
fonte
1

Vá para o prompt do Anaconda e digite (se você tiver o python 3.x instalado no seu mecanismo):

py -m pip install pymysql 

Eu estava tendo o mesmo problema e isso resolveu o meu problema. Depois, você pode importar o pymysql no power shell ou em qualquer outro prompt.

Jay Chhatrala
fonte
1

Foi encontrado esse problema ao instalar o python 3.8 da fonte no ubuntu. As etapas necessárias para instalá-lo com êxito, juntamente com o python padrão 3.7, estão resumidas abaixo:

sudo apt -y install libssl-dev zlib1g-dev build-essential

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar -xf Python-3.8.0.tgz
cd Python-3.8.0/

./configure --enable-optimizations
make
sudo make altinstall

As instruções de instalação para zlib1g-dev e build-essential são redundantes, pois a área de trabalho do ubuntu já as possui, mas era necessária para algumas das instâncias do Amazon EC2. O python 3.8.0 é a versão atual agora, mas deve ser substituída pela mais recente disponível.

Essas instruções são melhores para manter o python 3.7 como padrão para python3 e executar o python 3.8 em um ambiente virtual.

dmdip
fonte
1

O problema é que o pacote OpenSSL está ausente no seu PC.

Se pip install openpyxltambém der erro.

você pode corrigir isso instalando o OpenSSL (Win64 OpenSSL v1.1.1g) no site abaixo:

slproweb.com/products/Win32OpenSSL.html

Reinicie o IDE que você está usando, para que as alterações entrem em vigor.

Ashwani Singh
fonte
0

Eu encontrei este problema! Eu instalei acidentalmente a versão de 32 bits do Miniconda3. Certifique-se de escolher a versão de 64 bits!

Mike
fonte
0

Isso funcionou para mim:

yum install python36-pyOpenSSL 

A versão do python e o gerenciador de pacotes podem ser diferentes.

Andrysha
fonte
0

Eu tentei:

python -m pip install --upgrade pip

E depois disso, ele funciona bem para mim no Windows 10.

Raj Kumar
fonte
0

Corrigido isso sem precisar alterar nada relacionado ao TSL / SSL.

Eu estava tentando ver se a mesma coisa estava acontecendo pipe vi que pipestava quebrado. Fiz algumas escavações e percebi que provavelmente foi causado pelo Homebrew excluído python@2em 1 de fevereiro de 2020.

Correndo brew uninstall python@2para excluir python2 instalado pelo Homebrew.

Destruiu o ambiente virtual criado usando python3e criou um novo.
pip3a instalação funciona bem novamente.

Gary Bao Yutong ong 彤
fonte
2
Para mim, mudar para uma versão mais antiga do opensslfuncionou: brew switch openssl 1.0.2t estou no Mac OS Catalina 10.15.3. Espero que ajude.
viraj.kulkarni
-1

Esse é o problema com sua configuração SSL padrão. Você precisa baixar o Python3 e adicionar o caminho ao seu sistema. Se você usa Pycharm, defina o intérprete como seu caminho python3. Então você normalmente pode usar o pip3 sem erros.

Newt
fonte
-1

O problema provavelmente vem da versão do pacote openssl instalado. Esse foi o meu caso e eu corrigi esse problema apenas atualizando-o. Estou no Mac OS, usando brew:

brew upgrade openssl

Se você instalou o python com o brew, isso deve corrigir diretamente o problema, pois o python depende do openssl

claudod
fonte
-1

Você tentaria no Anaconda Prompt.

Você verá (base), agora atualize o pip. Exemplo:

(base) C:\Users\Tom>cd ..

(base) C:\Users>cd ..

(base) C:\>python -m pip install --upgrade pip
Requirement already up-to-date: pip in g:\anaconda3\lib\site-packages (20.0.2)

(base) C:\>pip -V
pip 20.0.2 from G:\Anaconda3\lib\site-packages\pip (python 3.7)

# Try install
(base) C:\>pip install selenium

Isso leva mais tempo, mas também instala ou atualiza bibliotecas SSL que o Anaconda usa internamente. Continue indo aqui

Gionthelawa
fonte
Esta resposta pressupõe o uso de conda no Windows, e não o vanilla python no Linux, conforme indicado pelo OP
hrbdg em 29/04