Ich habe Python 3.4 und Python 3.6 erfolgreich auf meinem lokalen Computer installiert, kann jedoch keine Pakete mit installieren pip3
.
Bei der Ausführung pip3 install <package>
wird der folgende SSL- Fehler angezeigt:
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>
Wie kann ich meine Python3.x-Installation reparieren, damit ich Pakete mit installieren kann pip install <package>
?
sudo apt-get install python3-pip
?pip3 install --upgrade pip
sehen, ob Sie dieselbe Nachricht erhalten oder nicht.Antworten:
Schritt-für-Schritt-Anleitung zur Installation von Python 3.6 und pip3 in Ubuntu
Installieren Sie die erforderlichen Pakete für Python und ssl:
$ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
Laden Sie "Python-3.6.8.tar.xz" von https://www.python.org/ftp/python/ herunter und entpacken Sie es in Ihr Home-Verzeichnis.
Öffnen Sie das Terminal in diesem Verzeichnis und führen Sie Folgendes aus:
$ ./configure
Erstellen und installieren:
$ sudo make && sudo make install
Installieren Sie Pakete mit:
$ pip3 install package_name
quelle
Wenn Sie auf Red Hat / CentOS sind:
quelle
openssl-devel
ausgeführt werdenpython2.7 get-pip.py
Wenn Sie unter Windows arbeiten und Anaconda verwenden, hat dies bei mir funktioniert:
Ich habe viele andere Lösungen ausprobiert, die nicht funktionierten (Änderungen der Umgebungs-PATH-Variablen ...)
Das Problem kann durch DLLs im Ordner Windows \ System32 (z. B. libcrypto-1_1-x64.dll oder libssl-1_1-x64.dll oder andere) verursacht werden, die von anderer Software dort abgelegt wurden.
Das Update installierte openSSL von https://slproweb.com/products/Win32OpenSSL.html, wodurch die DLLs durch neuere Versionen ersetzt wurden.
quelle
Ich hatte ein ähnliches Problem unter OSX 10.11 aufgrund der Installation von memcached, bei der Python 3.7 über 3.6 installiert wurde.
Verbrachte Stunden damit, die Verknüpfung zu öffnen, neu zu installieren, die Pfade zu ändern ... und nichts half. Das Zurücksetzen der openssl-Version von einer älteren Version hat den Trick getan:
Ich habe diesen Vorschlag nirgendwo im Internet gesehen. Hoffe, es dient jemandem.
quelle
brew switch openssl 1.0.2s
. Aber das war es. Du hast mich gerettet, danke!openssl
funktioniert:brew switch openssl 1.0.2t
Ich bin unter Mac OS Catalina 10.15.3. Ich hoffe es hilft.Stimmen Sie der Antwort von mastaBlasta zu. Hat für mich gearbeitet. Ich habe das gleiche Problem wie bei der Themenbeschreibung festgestellt.
Umgebung: MacOS Sierra. Und ich benutze Homebrew.
Meine Lösung:
brew uninstall openssl; brew install openssl
Gehen Sie gemäß den Hinweisen von Homebrew wie folgt vor:
quelle
brew uninstall openssl, brew install openssl
. Ich habe versucht,brew reinstall openssl
was keine Wirkung hatte. Aber die Deinstallation / Installation funktioniert!brew uninstall --ignore-dependencies openssl
In Ubuntu kann dies helfen:
quelle
Das Downgrade von openssl hat bei mir funktioniert,
quelle
Das Problem wird wahrscheinlich dadurch verursacht, dass die Bibliothek fehlt.
Stellen Sie vor der Installation von Python 3.6 sicher, dass Sie alle für Python erforderlichen Bibliotheken installiert haben.
Weitere Informationen finden Sie unter Installieren von Python 3.6.0 unter Ubuntu und LinuxMint
quelle
Wenn Sie unter OSX arbeiten und Python aus dem Quellcode kompiliert haben:
Installieren Sie openssl mit Brew
brew install openssl
Befolgen Sie unbedingt die Anweisungen zum Einstellen von
CPPFLAGS
undLDFLAGS
. In meinem Fall verwende ich die[email protected]
Brühformel und benötige diese 3 Einstellungen, damit der Python-Erstellungsprozess korrekt mit meiner SSL-Bibliothek verknüpft werden kann:Angenommen, die Bibliothek ist an diesem Speicherort installiert.
quelle
openssl
funktioniert:brew switch openssl 1.0.2t
Ich bin unter Mac OS Catalina 10.15.3. Ich hoffe es hilft.Unter Windows 10 ist das gleiche Problem aufgetreten. Mein sehr spezifisches Problem ist auf die Installation von Anaconda zurückzuführen. Ich habe Anaconda installiert und unter dem Pfad
Path/to/Anaconda3/
kommt derpython.exe
. Daher habe ich Python überhaupt nicht installiert, da Anaconda Python enthält. Bei der Installation von Paketen mit pip habe ich denselben Fehlerbericht gefundenpip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
.Die Lösung war die folgende:
1) Sie können Python erneut auf der offiziellen Website herunterladen .
2) Navigieren Sie zu dem Verzeichnis, in dem
"Python 3.7 (64-bit).lnk"
sich das Verzeichnis befindet3)
import ssl
undexit()
4) Geben Sie
"Python 3.7 (64-bit).lnk" -m pip install tensorflow
zum Beispiel cmd ein .Hier sind Sie fertig.
quelle
cmd /c $py .\main.py
( Powershell ) odercmd /c %py% .\main.py
( Dos ) ausführen . Dies führt es in Ihrer vorhandenen Shell aus und kann per Skript ausgeführt werdenWenn Sie unter Windows arbeiten und Anaconda verwenden , können Sie versuchen, den Befehl "pip install ..." in der Anaconda-Eingabeaufforderung anstelle von cmd.exe auszuführen, wie der Benutzer willliu1995 hier vorschlägt . Dies war für mich die schnellste Lösung, bei der keine zusätzlichen Komponenten installiert werden müssen.
quelle
Ich habe viele Möglichkeiten ausprobiert , um dieses Problem zu lösen, und keine hat es gelöst. Ich bin derzeit auf Windows 10.
Das einzige was funktionierte war:
Dann habe ich alle Bibliotheken, die ich brauchte, mit PIP heruntergeladen ... und gearbeitet!
Ich weiß nicht warum oder ob das Problem irgendwie mit Anaconda zusammenhängt.
quelle
für Benutzer von Osx Brew
Mein Problem schien im Zusammenhang mit meiner Python-Installation zu stehen und wurde durch die Neuinstallation von Python3 und Pip schnell behoben. Ich denke, es hat sich nach einem Betriebssystem-Update schlecht benommen, aber wer weiß (zur Zeit bin ich unter Mac OS 10.14.6)
quelle
brew reinstall python3 --force
ausreichend war: Danach funktionierte ichpip
erneut und musste nicht neu installiert werdenpip
.Sie können eine der beiden folgenden Aktionen ausführen:
oder
\Anakonda
\ Anaconda \ Library \ mingw-w64 \ bin
\ Anaconda \ Library \ usr \ bin
\ Anaconda \ Library \ bin
\ Anaconda \ Skripte
\ anaconda \ Library
\ anaconda \ condabin
Fügen Sie die obigen Pfade zur Systemvariablen "Path" hinzu und es sollte der Fehler nicht mehr angezeigt werden :)
quelle
Ich hatte das gleiche Problem und konnte es mit den folgenden Schritten beheben:
Je nach Dauerwelle benötigen Sie möglicherweise kein Sudo.
sollte jetzt laufen können
und
Bei der Installation von Paketen:
oder je nach Dauerwelle können Sie auch das Flag --user wie folgt hinzufügen:
quelle
Das
ssl
Modul ist ein TLS / SSL-Wrapper für den Zugriff auf den Operation Sytem (OS) -Socket ( Lib / ssl.py ). Wenn dasssl
Modul nicht verfügbar ist, sind möglicherweise entweder keine OS OpenSSL-Bibliotheken installiert oder diese Bibliotheken wurden bei der Installation von Python nicht gefunden. Nehmen wir an, es handelt sich um einen späteren Fall (auch bekannt als: Sie haben OpenSSL bereits installiert, aber sie sind bei der Installation von Python nicht richtig verknüpft).Ich gehe auch davon aus, dass Sie von der Quelle installieren. Wenn Sie von einer Binärdatei (dh: Windows .exe-Datei) oder einem Paket (Mac .dmg oder Ubuntu apt) installieren, können Sie mit dem Installationsprozess nicht viel anfangen.
Während des Konfigurierens Ihrer Python-Installation müssen Sie angeben, wo das Betriebssystem OpenSSL zum Verknüpfen verwendet wird:
Wo finden Sie Ihr installiertes OpenSSL-Verzeichnis?
Ihr System mag anders sein als meins, aber wie Sie hier sehen, habe ich viele verschiedene openssl-Bibliotheken installiert. Zum Zeitpunkt dieses Schreibens erwartet Python 3.8 openssl 1.0.2 oder 1.1:
Sie müssten also überprüfen, welche dieser installierten Bibliotheken Sie beispielsweise zum Verknüpfen verwenden können
Möglicherweise müssen Sie einige ausprobieren oder eine neue installieren, um die Bibliothek zu finden, die für Ihr Python und Ihr Betriebssystem geeignet ist.
quelle
In meinem Fall mit Mac habe ich gelöscht
/Applications/Python 3.7
. weil ich schon Python3.7 von hattebrew install python3
.Aber es war ein Auslöser der Nachricht
Was ich in meiner Situation getan habe
/Applications/Python3.6/Install Certificates.command
und/Applications/Python3.6/Update Shell Profile.command
.pip.conf
. Siehe Pip-Installation schlägt fehl .quelle
Ich löse endlich dieses Problem. Dies sind die Details meiner env:
Version von Python, die installiert werden soll: 3.6.8
Betriebssystem: Ubuntu 16.04.6 LTS
Root-Zugriff: Nein
Einige Leute schlagen eine Installation vor
libssl-dev
, aber es hat bei mir nicht funktioniert. Ich folge diesem Link und habe ihn behoben!Kurz gesagt, ich lade OpenSSL (openssl-1.1.1b.tar.gz) herunter, extrahiere, erstelle und installiere es. Dann ändere ich die
.bashrc
Datei über diesen Link .Als nächstes lade ich Python-3.6.8.tgz herunter und extrahiere es. Ich bearbeite Modules / Setup.dist, um den SSL-Pfad zu ändern (Zeilen um # 211). Ich tat
./configure --prefix=$HOME/opt/python-3.6.8
,make
undmake install
. Zuletzt ändere ich meine.bashrc
. Beachten Sie, dass ich nicht--enable-optimizations
in./configure
.quelle
Wenn Sie auf MacOS Python 3.8.1 mit dem folgenden Befehl konfigurieren, wird das Problem behoben. Ich denke, es würde auch unter Linux funktionieren.
Ändern Sie den dir-Parameter basierend auf Ihrem System.
quelle
Wenn Sie unter OSX arbeiten und falls die anderen Lösungen für Sie nicht funktionieren (genau wie ich).
Sie können versuchen, python3 zu deinstallieren und pip3 zu aktualisieren
Das hat bei mir funktioniert;)
quelle
(NICHT unter Windows!)
Das hat mich eine Woche lang die Haare ausreißen lassen, also hoffe ich, dass dies jemandem hilft
Ich habe alles versucht, außer Anaconda und / oder Jupyter neu zu installieren.
Konfiguration
./anaconda3/bin/python
)/usr/bin/python
und/usr/bin/python3
(aber diese wurden nicht verwendet, da der größte Teil der Arbeit in Jupyters Terminal erledigt wurde)Fix
In Jupyters Terminal:
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
Was hat das ausgelöst?
Das hat also alles funktioniert, bis ich versucht habe, eine zu machen
conda install conda-forge
Ich bin mir nicht sicher, was passiert ist, aber conda muss
openssl
auf der Box aktualisiert worden sein (ich vermute ), also ist danach alles kaputt gegangen .Grundsätzlich mir unbekannt, hatte Conda openssl aktualisiert, aber irgendwie gelöscht , die alten Bibliotheken und ersetzte sie durch
libssl.so.1.1
undlibcrypto.so.1.1
.Ich denke, Python3 wurde kompiliert, um danach zu suchen
libssl.so.1.0.0
Am Ende war der Schlüssel zur Diagnose folgender:
python -c "import ssl; print (ssl.OPENSSL_VERSION)"
gab den Hinweis
library "libssl.so.1.0.0" not found
Die große Annahme, die ich gemacht habe, ist, dass die
yum
Version von ssl mit der Version identisch ist. Dasconda
Umbenennen des freigegebenen Objekts könnte also funktionieren, und das hat es auch getan.Meine andere Lösung bestand darin, Python neu zu kompilieren, Anaconda neu zu installieren usw., aber am Ende bin ich froh, dass ich das nicht musste.
Hoffe das hilft euch raus.
quelle
Bei der Verwendung
pyenv
zum Verwalten von Python-Installationen unter Mac OS Catalina musste ichopenssl
zuerst mit Brew und dann nach diesem Lauf installierenpyenv install 3.7.8
, der die Python-Installation mit demopenssl
von Homebrew zu erstellen schien (in der Installationsausgabe sogar als solches angegeben). Dannpyenv global 3.7.8
und ich war weg.quelle
Ich konnte dies beheben, indem ich die Python-Version in dieser Datei aktualisierte. pyenv: Version `3.6.5 'ist nicht installiert (festgelegt von /Users/taruntarun/.python-version) Obwohl ich die neueste Version installiert hatte, verwendete mein Befehl immer noch die alte Version 3.6.5
Umstellung auf Version 3.7.3
quelle
Ich hatte in den letzten zwei Tagen das gleiche Problem und habe es erst jetzt behoben.
Ich hatte versucht, die
--trust-host
Option zu verwenden, mit derDigiCert_High_Assurance_EV_Root_CA.pem
nicht funktioniert hat. Ich konnte das SSL-Modul nicht installieren (es sagt, dass es nicht für Python-Versionen größer als 2.6 installiert werden kann). Das Festlegen der$PIP_CERT
Variablen hat es auch nicht behoben und ich hattelibssl1.0.2
undlibssl1.0.0
installiert. Erwähnenswert ist auch, dass ich keine~/.pip/pip.conf
Datei hatte und das Erstellen des Fehlers auch den Fehler nicht löste.Was es schließlich löste, war die erneute Installation von python3.6 mit
make
. Laden Sie die Python-3.6.0.tgz von der Website, führen Sieconfigure
dannmake
,make test
undmake install
. Hoffe es funktioniert bei dir.quelle
Die Python-Dokumentation ist tatsächlich sehr klar, und das Befolgen der Anweisungen hat den Job erledigt, während andere Antworten, die ich hier gefunden habe, dieses Problem nicht behoben haben.
Installieren Sie zunächst Python 3.xx aus dem Quellcode, z. B. mit Version 3.6.2 https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
Stellen Sie sicher, dass Sie openssl installiert haben, indem Sie ausführen
brew install openssl
entpacke es und gehe in das Python-Verzeichnis:
tar xvzf Python-3.6.2.tar.xz && cd Python-3.6.2
Wenn die Python-Version <3.7 ist, führen Sie sie aus
CPPFLAGS="-I$(brew --prefix openssl)/include" \ LDFLAGS="-L$(brew --prefix openssl)/lib" \ ./configure --with-pydebug
5. Zum Schluss ausführenmake -s -j2
(-s
ist das stille Flag und-j2
weist Ihren Computer an, 2 Jobs zu verwenden).quelle
Ich hatte das gleiche Problem beim Versuch, python3.7 auf einem Ubuntu14.04-Computer zu installieren. Das Problem war, dass ich einige benutzerdefinierte Ordner in meinem PKG_CONFIG_PATH und in meinem LD_LIBRARY_PATH hatte, die den Python-Erstellungsprozess daran hinderten, die OpenSL-Bibliotheken des Systems zu finden.
Versuchen Sie also, sie zu löschen und zu sehen, was passiert:
quelle
Ok, die neueste Antwort darauf, verwenden Sie ab sofort nicht Python 3.8 , sondern nur 3.7 oder weniger, da die meisten Bibliotheken mit dem oben genannten Fehler nicht installiert werden können
quelle
gcc
,openssl
undzlib
. Daher ist es wichtig, diese Voraussetzungen vor dem Kompilieren von Python zu installieren, insbesondere wenn es unter Linux verwendet wird.