Instalei o Python 3.4 e o Python 3.6 em minha máquina local com sucesso, mas não consigo instalar os pacotes com pip3
.
Quando executo pip3 install <package>
, recebo o seguinte erro relacionado ao SSL :
pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting <package>
Could not fetch URL https://pypi.python.org/simple/<package>/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
Could not find a version that satisfies the requirement <package> (from versions: )
No matching distribution found for <package>
Como posso corrigir minha instalação do Python3.x para poder instalar os pacotes pip install <package>
?
sudo apt-get install python3-pip
??pip3 install --upgrade pip
ver se você recebe a mesma mensagem ou não.Respostas:
Guia passo a passo para instalar Python 3.6 e pip3 no Ubuntu
Instale os pacotes necessários para Python e ssl:
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
Baixe e descompacte "Python-3.6.8.tar.xz" de https://www.python.org/ftp/python/ em seu diretório inicial.
Abra o terminal nesse diretório e execute:
$ ./configure
Construir e instalar:
$ sudo make && sudo make install
Instale pacotes com:
$ pip3 install package_name
fonte
Se você estiver no Red Hat / CentOS:
fonte
openssl-devel
executá-lopython2.7 get-pip.py
Se você estiver no Windows e usar o anaconda, isso funcionou para mim:
Eu tentei muitas outras soluções que não funcionaram (Mudanças na variável de ambiente PATH ...)
O problema pode ser causado por DLLs na pasta Windows \ System32 (por exemplo, libcrypto-1_1-x64.dll ou libssl-1_1-x64.dll ou outros) colocados lá por outro software.
A correção era instalar openSSL de https://slproweb.com/products/Win32OpenSSL.html que substitui as dlls por versões mais recentes.
fonte
Tive um problema semelhante no OSX 10.11 devido à instalação do memcached, que instalou o python 3.7 no topo do 3.6.
Gastei horas para desvincular o openssl, reinstalar, mudar caminhos ... e nada ajudou. Mudar a versão do openssl de volta para a versão mais antiga funcionou:
Não vi essa sugestão em nenhum lugar da internet. Espero que sirva a alguém.
fonte
brew switch openssl 1.0.2s
. Mas foi só isso. Você me salvou, obrigado!openssl
funcionou:brew switch openssl 1.0.2t
estou no Mac OS Catalina 10.15.3. Espero que ajude.Concordo com a resposta da mastaBlasta. Funcionou para mim. Encontrei o mesmo problema da descrição do tópico.
Ambiente: MacOS Sierra. E eu uso o Homebrew.
Minha solução:
brew uninstall openssl; brew install openssl
De acordo com as dicas fornecidas pelo Homebrew, faça o seguinte:
fonte
brew uninstall openssl, brew install openssl
. Eu tentei,brew reinstall openssl
mas não teve efeito. Mas a desinstalação / instalação funciona!brew uninstall --ignore-dependencies openssl
No Ubuntu, isso pode ajudar:
fonte
O downgrade do openssl funcionou para mim,
fonte
O problema provavelmente foi causado pela ausência da biblioteca.
Antes de instalar o python 3.6, certifique-se de instalar todas as bibliotecas necessárias para o python.
Mais informações em Como instalar o Python 3.6.0 no Ubuntu e LinuxMint
fonte
Se você estiver no OSX e compilou o python da fonte:
Instale o openssl usando o brew
brew install openssl
Certifique-se de seguir as instruções fornecidas pela mistura sobre como configurar seu
CPPFLAGS
eLDFLAGS
. No meu caso, estou usando a[email protected]
fórmula de preparação e preciso dessas 3 configurações para o processo de compilação do python vincular corretamente à minha biblioteca SSL:Supondo que a biblioteca esteja instalada naquele local.
fonte
openssl
funcionou:brew switch openssl 1.0.2t
estou no Mac OS Catalina 10.15.3. Espero que ajude.Eu encontrei o mesmo problema no Windows 10. Meu problema específico é devido à minha instalação do Anaconda. Instalei o Anaconda e sob o caminho
Path/to/Anaconda3/
, aí vem opython.exe
. Portanto, não instalei o python porque o Anaconda inclui o python. Ao usar o pip para instalar pacotes, encontrei o mesmo relatório de erropip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
,.A solução foi a seguinte:
1) você pode baixar o python novamente no site oficial ;
2) Navegue até o diretório onde
"Python 3.7 (64-bit).lnk"
está localizado3)
import ssl
eexit()
4) digite cmd,
"Python 3.7 (64-bit).lnk" -m pip install tensorflow
por exemplo.Aqui, está tudo pronto.
fonte
cmd /c $py .\main.py
( Powershell ) oucmd /c %py% .\main.py
( Dos ). Isso irá executá-lo em seu shell existente e pode ser programadoSe você estiver no Windows e usar o Anaconda, você pode tentar executar o comando "pip install ..." no prompt do Anaconda em vez de cmd.exe, como o usuário willliu1995 sugere aqui . Esta foi a solução mais rápida para mim, que não requer instalação de componentes adicionais.
fonte
Tentei MUITAS maneiras de resolver este problema e nenhuma resolveu. Atualmente estou no Windows 10.
A única coisa que funcionou foi:
Então baixei todas as bibliotecas de que precisava usando o PIP ... e funcionou!
Não sei por que, ou se o problema estava de alguma forma relacionado ao Anaconda.
fonte
para usuários osx brew
meu problema apareceu relacionado à minha instalação do python e foi rapidamente resolvido reinstalando o python3 e o pip. Acho que começou a funcionar mal após uma atualização do sistema operacional, mas quem sabe (no momento estou no Mac OS 10.14.6)
fonte
brew reinstall python3 --force
foi suficiente:pip
funcionou novamente depois disso, não precisei reinstalarpip
.Você pode fazer um dos dois:
ou
\ Anaconda
\ Anaconda \ Library \ mingw-w64 \ bin
\ Anaconda \ Library \ usr \ bin
\ Anaconda \ Library \ bin
\ Anaconda \ Scripts
\ anaconda \ Library
\ anaconda \ condabin
Adicione os caminhos acima à variável de sistema "Path" e ele não deve mais mostrar o erro :)
fonte
Eu estava tendo o mesmo problema e fui capaz de resolver com as seguintes etapas:
dependendo das permanências, você pode não precisar do sudo.
agora deve ser capaz de executar
e
Ao instalar pacotes:
ou dependendo das permanências, você também pode adicionar o sinalizador --user assim:
fonte
O
ssl
módulo é um wrapper TLS / SSL para acessar o soquete do Sistema de Operação (OS) ( Lib / ssl.py ). Portanto, quando ossl
módulo não está disponível, é provável que você não tenha as bibliotecas do OS OpenSSL instaladas ou que essas bibliotecas não tenham sido encontradas ao instalar o Python. Suponhamos que seja um caso posterior (também conhecido como: você já tem o OpenSSL instalado, mas eles não estão vinculados corretamente ao instalar o Python).Também assumirei que você está instalando a partir da fonte. Se você estiver instalando a partir de um binário (por exemplo: arquivo Window .exe) ou pacote (Mac .dmg ou Ubuntu apt), não há muito que você possa fazer com o processo de instalação.
Durante a etapa de configuração da instalação do Python, você precisa especificar onde o OS OpenSSL será usado para vinculação:
Então, onde você encontrará o diretório OpenSSL instalado?
Seu sistema pode ser diferente do meu, mas como você pode ver aqui, tenho muitas bibliotecas openssl diferentes instaladas. No momento em que este livro foi escrito, o python 3.8 espera o openssl 1.0.2 ou 1.1:
Portanto, você precisa verificar qual dessas bibliotecas instaladas pode usar para vincular, por exemplo
Você pode precisar tentar alguns, ou instalar um novo, para encontrar a biblioteca que funcionaria para seu Python e seu sistema operacional.
fonte
No meu caso com o uso do Mac, eu apaguei
/Applications/Python 3.7
. porque eu já tinha o Python3.7 porbrew install python3
.Mas foi o gatilho da mensagem
O que eu fiz na minha situação
/Applications/Python3.6/Install Certificates.command
e/Applications/Python3.6/Update Shell Profile.command
.pip.conf
. Veja as falhas de instalação do pip .fonte
Eu finalmente resolvi esse problema. Estes são os detalhes do meu env:
Versão do Python para instalar: 3.6.8
OS: Ubuntu 16.04.6 LTS
Acesso à raiz: Não
Algumas pessoas sugerem instalar
libssl-dev
, mas não funcionou para mim. Eu sigo este link e consertei!Resumindo, eu faço download, extraio, construo e instalo o OpenSSL (openssl-1.1.1b.tar.gz). Então, eu modifico o
.bashrc
arquivo seguindo este link .Em seguida, faço o download e extraio o Python-3.6.8.tgz. Eu edito Modules / Setup.dist para modificar o caminho SSL (linhas em torno de # 211). Eu fiz
./configure --prefix=$HOME/opt/python-3.6.8
,make
emake install
. Por último, eu modifico meu.bashrc
. Observe que eu não incluo--enable-optimizations
em./configure
.fonte
No macos, configure o python 3.8.1 com o comando abaixo para resolver o problema, acho que também funcionaria no Linux.
mude o parâmetro dir com base em seu sistema.
fonte
Se você estiver no OSX e no caso de as outras soluções não funcionarem para você (assim como eu).
Você pode tentar desinstalar o python3 e atualizar o pip3
Isso funcionou para mim;)
fonte
(NÃO no Windows!)
Isso me fez arrancar o cabelo por uma semana, então espero que isso ajude alguém
Tentei de tudo, exceto reinstalar o Anaconda e / ou Jupyter.
Configuração
./anaconda3/bin/python
)/usr/bin/python
e/usr/bin/python3
(mas eles não estavam sendo usados, pois a maior parte do trabalho foi feito no terminal de Jupyter)Consertar
No terminal de Jupyter:
cp /usr/lib64/libssl.so.10 ./anaconda3/lib/libssl.so.1.0.0
cp /usr/lib64/libcrypto.so.10 ./anaconda3/lib/libcrypto.so.1.0.0
O que desencadeou isso?
Então, tudo isso estava funcionando até que tentei fazer um
conda install conda-forge
Não tenho certeza do que aconteceu, mas conda deve ter atualizado
openssl
na caixa (eu estou supondo) então depois disso, tudo quebrou.Basicamente, sem que eu saiba, conda atualizou o openssl, mas de alguma forma excluiu as bibliotecas antigas e as substituiu por
libssl.so.1.1
elibcrypto.so.1.1
.Python3, eu acho, foi compilado para procurar
libssl.so.1.0.0
No final, a chave para o diagnóstico era esta:
python -c "import ssl; print (ssl.OPENSSL_VERSION)"
deu a pista
library "libssl.so.1.0.0" not found
A grande suposição que fiz é que a
yum
versão de ssl é a mesma que aconda
versão, então apenas renomear o objeto compartilhado pode funcionar, e funcionou.Minha outra solução foi recompilar o python, reinstalar o anaconda, etc, mas no final estou feliz por não precisar.
Espero que isso ajude vocês.
fonte
No caso de usar
pyenv
para gerenciar instalações de python no Mac OS Catalina, tive que instalaropenssl
com brew primeiro e depois executar opyenv install 3.7.8
que parecia construir a instalação de python usando oopenssl
homebrew (até disse isso na saída da instalação). Entãopyenv global 3.7.8
e eu fui embora.fonte
Consegui consertar isso atualizando a versão do Python neste arquivo. pyenv: a versão `3.6.5 'não está instalada (definida por /Users/taruntarun/.python-version) Embora eu tivesse a versão mais recente instalada, meu comando ainda estava usando a versão 3.6.5 anterior
Mudando para a versão 3.7.3
fonte
Eu estava tendo o mesmo problema nos últimos dois dias e só resolvi agora.
Tentei usar a
--trust-host
opção com oDigiCert_High_Assurance_EV_Root_CA.pem
não funcionou, não consegui instalar o módulo ssl (indica que não pode ser instalado para versões de python superiores a 2.6), definir a$PIP_CERT
variável também não corrigiulibssl1.0.2
elibssl1.0.0
instalei. Também vale a pena mencionar que não tinha um~/.pip/pip.conf
arquivo, e criá-lo também não resolveu o bug.O que finalmente resolveu foi instalar o python3.6
make
novamente. Baixe o Python-3.6.0.tgz a partir do site, executarconfigure
, em seguidamake
,make test
emake install
. Espero que funcione para você.fonte
A documentação do Python é realmente muito clara, e seguir as instruções funcionou, enquanto outras respostas que encontrei aqui não corrigiam esse problema.
primeiro, instale o python 3.xx da fonte usando, por exemplo, com a versão 3.6.2 https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
certifique-se de ter o openssl instalado executando
brew install openssl
descompacte-o e mova para o diretório python:
tar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2
então, se a versão do python for <3.7, execute
CPPFLAGS="-I$(brew --prefix openssl)/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ ./configure --with-pydebug
5. finalmente, executemake -s -j2
(-s
é o sinalizador silencioso,-j2
diz à sua máquina para usar 2 tarefas)fonte
Eu tive o mesmo problema ao tentar instalar o python3.7 em uma máquina ubuntu14.04. O problema era que eu tinha algumas pastas personalizadas em meu PKG_CONFIG_PATH e em meu LD_LIBRARY_PATH, o que impedia o processo de construção do python de encontrar as bibliotecas do sistema openssl.
então tente eliminá-los e ver o que acontece:
fonte
Ok, a última resposta para isso, a partir de agora não use Python 3.8 , use apenas 3.7 ou menos, porque a maioria das bibliotecas falham ao instalar com o erro acima
fonte
gcc
,openssl
ezlib
. Portanto, é importante instalar esses pré-requisitos antes de compilar o python, especialmente quando usado no Linux.