pip è configurato con posizioni che richiedono TLS / SSL, tuttavia il modulo ssl in Python non è disponibile


216

Sto usando Python3.6, quando provo ad installare "moduli" usando pip3, sto affrontando il problema di seguito menzionato "pip è configurato con posizioni che richiedono TLS / SSL, tuttavia il modulo ssl in Python non è disponibile"


1
sistema operativo?
ZiTAL,


1
Il sistema operativo è Oracle 7.x
Santosh Kumar G

1
Hai installato pip dal gestore pacchetti? Se è stato installato la compilazione, per prima cosa installare libssl-devo installare SSL da pip pip install ssl stackoverflow.com/questions/41098252/...
ZiTAL

37
@ZiTAL pipnon funziona perché ssle chiedi di installarlo ssl, con pip :)
Ramazan Polat,

Risposte:


191

Per Windows 10 se si desidera utilizzare pip in cmd normale, non solo nel prompt di Anaconda. è necessario aggiungere 3 percorsi di ambiente. come i seguenti:

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

la maggior parte delle persone aggiunge solo D: \ Anaconda3 \ Scripts;


1
Grazie, ho aggiunto D: \ Anaconda3 \ Library \ bin e funziona, dal modo in cui libssl-1_1-x64.dll si trova in quella cartella. (win10x64, python 3.7)
apet

quando aggiungi quei tre nel tuo percorso, chiudi il cmd, torna indietro e riprova dovrebbe funzionare.
user3568896

Cosa intendi per percorsi ambientali? intendi la variabile di ambiente PATH? inoltre non ho quelle cartelle nel mio disco D, dovrebbero essere create quando installo Anaconda?
Amit Raz,

Un anche per Windows 8.1
Antoine l'

1
Questo NON funziona se non si utilizza Anaconda. Ho riscontrato questo problema con le installazioni OSGeo4W64 e QGIS 3.10.2. L'aggiunta di ciò che raccolgo sono i percorsi corretti alla variabile PATH non risolve il problema (es:) C:\Program Files\QGIS 3.10\apps\Python37\Scripts.
CNIDog

185

MAC OS

Ho avuto lo stesso problema su Mac OS (Mojave) e ho risolto il problema menzionato in questo link - Problema OpenSl .

  1. Se non hai l'homebrew o non sai cos'è l'homebrew:

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

  2. O se hai già installato Homebrew:

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

Aggiornamento: tieni presente che ho dovuto usare --ignore-dependenciesflag, perché altri pacchetti installati dipendono da OpenSSL.

Ulteriore se il problema è causato dopo aver usato pyenv , puoi risolverlo usando:

brew reinstall python

5
Dopo aver installato un'altra Python versione, pip è stato rotto. questa soluzione mi ha aiutato a riparare.
iMitwe,

15
perché github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb viene aggiunto anche come dipendenza? :) Penso che dovrebbe essere rimosso in quanto è totalmente indipendente e potenzialmente non sicuro
Segna il

1
Comprendo che potrebbe essere un rischio per la sicurezza, ma tutti gli utenti hanno chiesto di utilizzare il pacchetto tramite il link del pacchetto ufficiale - github.com/kelaberetiv/TagUI/issues/635
Vaulstein

1
@Vaulstein Ora che me lo dici. Penso di aver installato anche alcuni pacchetti usando brew prima che questo si rompesse. Lo è stato gpg.
dipendente dal

3
Dopo l'aggiornamento da Mojavea Catalina, ho colpito questo. Avevo solo bisogno brew update && brew upgradeche funzionasse di nuovo. Grazie per il consiglio!
rustyMagnet,

35

Per gli utenti Debian, possono essere utili:

sudo -s

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

Quindi cd nella cartella con il codice sorgente della libreria Python 3.X ed eseguire:

./configure
make
make install

@MehmetKurtipek, ho modificato la risposta per chiarire un passaggio. Se il problema persiste, chiarisci il problema
Rafael B,

5
si è scoperto che Python3.7 ha dei bei problemi insieme a Ubuntu 14.04 e precedenti. Il pacchetto SSL minimo richiesto per Python3.7 non è compatibile con il vecchio ubuntus. Quindi grazie per il montaggio :)
Mehmet Kurtipek,

@MehmetKurtipek Il mio server è 1404. Qual è l'ultima versione di Python che non presenta questo problema. Python 3.7.4 ha lo stesso problema ...
un'offerta non può rifiutare il

@MehmetKurtipek Hai risolto il problema senza aggiornare il sistema? Sto lavorando anche il 14.04
un'offerta non può rifiutare il

usando mint19 e python 3.8, questo risolto il mio problema
5uperdan il

21

Per i futuri utenti Oracle Linux che cercano di risolvere questo problema, di seguito è riportato ciò che ha funzionato per me. Prima installazione libs mancanti:

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

Quindi, cd nella libreria Python3.X ed eseguire:

make
make install 

1
Questa risposta ha risolto bene il problema sul mio CentOS 7.
Max

Cosa sono queste librerie? Perché sono richiesti?
Mohit Motwani,

Fare una connessione sicura su Internet richiede questo, ad esempio quando si esegue 'pip install'
limboy


20

Per centos 7:

Installa openssl:

sudo yum install openssl-devel

ora vai alla directory di Python dove abbiamo estratto il tar Python,

esegui sotto i comandi

sudo ./configure
sudo make
sudo make install

Questo risolverà il problema in centos ...


10

Per Windows 10, Windows 7 Se l'installazione pip non funziona sul prompt CMD, eseguirlo utilizzando il prompt Anaconda - funziona.

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


6
Conosco la risposta giusta, se vuoi usare pip nel normale cmd, non nel prompt Anaconda devi aggiungere 3 percorsi ambientali: come questi: D: \ Anaconda3; D: \ Anaconda3 \ Scripts; D: \ Anaconda3 \ Library \ bin ora solo script!
无名 小路

8

Nel caso in cui python sia pyenvinstallato, in cui pyenv è installato con homebrew su macOS, è possibile che sia disponibile una versione più recente che risolve questo problema:

$ brew update && brew upgrade pyenv

Quindi reinstallare la versione di Python:

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

Nota, è un po 'sporco sovrascrivere l'installazione di Python esistente in quel modo, ma nel mio caso ha funzionato.


5

Per OpenSUSE allo stesso modo, ma alcune modifiche ai pacchetti sopra elencati:

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

Quindi cdverso Python fonti dir e

make
make install

o

make
make altinstall

E forse

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

dovrebbe essere eseguito per gli utenti OpenSUSE. Vedi l' installazione di Python 3.7 non funziona su openSUSE Leap 42.3


5

Simile alla soluzione precedente , reinstallare la versione di Python con pyenv.

In qualche modo, ho aggiornato il mio opensslche ha rotto la versione di Pyenv Python.

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

La prima riga dice che si basa sull'homebrew openssl.



4

Ha funzionato per me.

apt-get install libssl-dev

Usalo per abilitare ssl per pip. Fammi sapere se qualcuno incontra problemi.


3

Ho riscontrato questo problema con Visual Studio Code che installava il pilastro dal prompt del codice VS. Sono stato in grado di superare il problema aprendo la directory di installazione di Anaconda ed eseguendolo

pip install pylint

Quindi VS Code è stato felice, ma questo non ha risolto il problema come in esecuzione

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

praticamente ha dato lo stesso errore, quindi sembra che VS Code non sia in grado di accedere ai moduli Python.

Nota che VS Code raccoglie il primo env python che vede quando installato, in basso a sinistra dello schermo indica quale env viene utilizzato. Facendo clic su quell'area è possibile impostare l'ambiente. Quindi, anche se hai eseguito l'installazione di pip per un ambiente, VS Code potrebbe vederne uno diverso.

L'approccio migliore era assicurarsi che nel codice VS fosse selezionato l'ambiente python corretto e che lo stesso ambiente fosse nel PERCORSO di sistema (in Proprietà del sistema -> Avanzate -> Variabili ambientali)

Sotto la variabile Path, modifica e naviga fino alla specifica directory Anaconda che vuoi usare con VSCode e aggiungi a PATH, dovevo aggiungere quanto segue:

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

La directory di installazione di Anaconda potrebbe essere diversa. Una nota è che Windows non ha effetto sulla variabile PATH fino a quando non si riavvia il terminale. In questo caso chiudere e riaprire il codice VS. Se si utilizza un Terminale o PS Shell, chiudere e riaprire e selezionare Percorso per assicurarsi che sia incluso.


3

Sto usando Windows 10 e installato Miniconda 3 con Python 3.7.

Ho risolto questo errore seguendo questo https://github.com/conda/conda/issues/8273

In particolare, ho copiato i seguenti file da C:\Users\MyUser\Miniconda3\Library\bina 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


2

Se non hai Chocolatey, installalo - da qui: https://chocolatey.org/docs/installation

Puoi semplicemente copiare e incollare un liner da riga di comando ed eseguirlo dal prompt dei comandi con privilegi elevati.

Installa anaconda, usando la riga di comando:

choco install anaconda3

Imposta variabili d'ambiente:

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

e quindi eseguire il comando che non è riuscito. Nel mio caso era:

pip install conan

Anaconda utilizza un'installazione separata di Python e pip è anche specifico per Anaconda.


1

Come ha detto Tokci, funziona anche per Windows 7.

"Vai con il mouse sull'icona di Windows (in basso a sinistra) e inizia a digitare" Anaconda ". Dovrebbero apparire alcune voci corrispondenti. Seleziona" Anaconda Prompt ". Si aprirà una nuova finestra di comando, chiamata" Anaconda Prompt "."

Quindi pip funziona.

Quanto segue ha anche contribuito a importare xgboost: https://www.youtube.com/watch?v=05djBSOs1FA


Cerchi l'equivalente di Linux ... ma comunque, perché dovrebbe funzionare e usando pip dalla riga di comando non funzionerà? questo ha senso solo se hai già ricostruito il pitone di anaconda con SSL ad un certo punto.
matanster

Non ho idea del perché, ma quello che dici suona ragionevole
Ayan Omarov,

1

Se qualcuno utilizza Arch Linux OS, ho risolto il problema TLS / SSL eseguendo questo:

sudo pacman -S openssl

Quindi potrei usare pip per installare il pacchetto di cui avevo bisogno:

pip install openpyxl

1

Vai al prompt di Anaconda e digita (se hai installato Python 3.x sul tuo motore):

py -m pip install pymysql 

stavo avendo lo stesso problema e questo ha risolto il mio problema. più tardi dopo averlo fatto puoi importare pymysql in Power Shell o in qualsiasi altro prompt.


1

Si è verificato questo problema durante l'installazione di Python 3.8 dal sorgente su Ubuntu. I passaggi necessari per installarlo correttamente insieme a Python 3.7 predefinito sono riepilogati di seguito:

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

Le istruzioni di installazione per zlib1g-dev e build-essential sono ridondanti, dal momento che il desktop Ubuntu ha già queste, ma era necessario per alcune delle istanze EC2 di Amazon. python 3.8.0 è la versione corrente in questo momento, ma dovrebbe essere sostituita con l'ultima disponibile.

Queste istruzioni sono ideali per mantenere python 3.7 come predefinito per python3 ed eseguire python 3.8 in un ambiente virtuale.


1

Il problema è dovuto al pacchetto OpenSSL mancante sul PC.

Se pip install openpyxldà anche errore.

è possibile risolvere questo problema installando OpenSSL (Win64 OpenSSL v1.1.1g) dal sito seguente:

slproweb.com/products/Win32OpenSSL.html

Riavvia l'IDE che stai utilizzando per rendere effettive le modifiche.


0

Ho riscontrato questo problema! Ho installato per errore la versione a 32 bit di Miniconda3. Assicurati di scegliere la versione a 64 bit!


0

Questo ha funzionato per me:

yum install python36-pyOpenSSL 

la versione di Python e il gestore pacchetti potrebbero essere diversi.


0

Provai:

python -m pip install --upgrade pip

E dopo, funziona bene per me in Windows 10.


0

Risolto il problema senza dover modificare nulla relativo a TSL / SSL.

Stavo cercando di vedere se stesse succedendo la stessa cosa pipe ho visto che pipera rotto. Ha fatto qualche ricerca e si è reso conto che probabilmente è stato causato da Homebrew cancellato python@2il 1 ° febbraio 2020.

In esecuzione brew uninstall python@2per eliminare python2 installato da Homebrew.

Distrutto l'ambiente virtuale creato usando python3e creato uno nuovo.
pip3l'installazione funziona di nuovo bene.


3
Per me, passare a una versione precedente di openssllavorato: brew switch openssl 1.0.2t sono su Mac OS Catalina 10.15.3. Spero che sia d'aiuto.
viraj.kulkarni

0

Nel mio caso, ho reinstallato pyhone. Ha risolto il problema.

brew reinstall python

-1

Questo è il problema con le impostazioni SSL predefinite. Devi scaricare Python3 e aggiungere il percorso al tuo sistema. Se usi Pycharm, imposta l'interprete sul tuo percorso python3. Quindi è possibile utilizzare normalmente pip3 senza errori.


-1

Il problema probabilmente deriva dalla versione installata del pacchetto openssl. Questo è stato il caso per me e ho risolto il problema aggiornandolo. Sono su Mac OS, usando brew:

brew upgrade openssl

Se hai installato python con brew, questo dovrebbe risolvere direttamente il problema con esso, poiché python dipende da openssl


-1

Ci proveresti da Anaconda Prompt.

Vedrai (base), ora aggiorna pip. Esempio:

(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

Questo richiede più tempo, ma installerà o aggiornerà anche le librerie SSL che Anaconda utilizza internamente. Continua ad andare qui


Questa risposta presuppone l'uso di conda su Windows, non di vaniglia python su Linux come indicato dall'OP
hrbdg
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.