Ein echtes SSL-Kontext-Objekt ist nicht verfügbar: InsecurePlatformWarning - nicht pip 1.5.4 auf Ubuntu 14.04 Upgrade

stimmen
2

Ich bin derzeit pip, Version 1.5.4 auf Ubuntu 14.04 und Python 2.7.6 und kann nicht pip auf die neueste Version aktualisieren.

Wenn ich pip --upgrade pip installieren laufen bekomme ich folgende Fehlermeldung:

Cannot fetch index base URL https://pypi.python.org/simple/ Could not find any downloads that satisfy the requirement pip in ./.venv/lib/python2.7/site-packages Downloading/unpacking pip Cleaning up... No distributions at all found for pip in ./.venv/lib/python2.7/site-packages Storing debug log for failure in /home/buffcat/.pip/pip.log

Und wenn ich versuche, ein Upgrade mit get-pip.py ich folgenden ssl Fehlermeldung erhalten:

/tmp/tmpKVfWOr/pip.zip/pip/_vendor/urllib3/util/ssl_.py:369: SNIMissingWarning: An HTTPS request has been made, but the SNI (Server Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings /tmp/tmpKVfWOr/pip.zip/pip/_vendor/urllib3/util/ssl_.py:160: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError(SSLError(1, '_ssl.c:510: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed'),)': /simple/pip/

Was kann ich tun pip auf meinem Rechner zu aktualisieren?

Veröffentlicht am 27/11/2018 um 17:52
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
1

Es ist zwar nicht zu empfehlen Ubuntu - System zu aktualisieren pip(die eine von dem Ubuntu - Distribution bereitgestellte python-pipDebian - Paket) zu umgehen apt-get, ist es akzeptabel , so in einem Venv / virtualenv oder in Ihrer Benutzer Hauptdir Ebene (das zu tun --userpip - Option). Auf diese Weise ermöglicht es zu benutzen , ohne mit „System“ Pip in Konflikt. Es scheint , Sie wurden in einem Arbeits virtualenv, die eine gute Praxis ist.

Die SSLError wird dadurch verursacht , dass Ihr System zugrunde liegende OpenSSL - Bibliothek Version <1.0.1 und Python - Version <2.7.9 nicht die neueren unterstützen TLS - Protokoll , Version 1.2 , die PyPI erwartet seit vor etwa einem Jahr. Und so pipnicht zu PyPI über die ältere SSL verbinden kann / TLS - Protokolle mehr.
Sie können die Versionen überprüfen:
$ python -c "import ssl; print(ssl.OPENSSL_VERSION)" && openssl version
Der Fehler auch ohne pip reproduziert werden kann, mit so etwas wie:
$ curl -i https://pypi.org/simple/ --tlsv1
curl: (35) Fehler: 1409442E: SSL - Routinen: SSL3_READ_BYTES: TLSv1 Alarmprotokollversion

Da derzeit keine Pip ist zu PyPI verbinden, können wir es manuell aktualisieren:

  • In Firefox, öffnen Sie das Python Package Index offizielle Homepage und suchen Sie den Pip - Projekt ,
  • Wählen Sie „Datei Download“ gibt - hier ist ein direkter Link: https://pypi.org/project/pip/#files
  • Klicken Sie auf der letzte pip - Paketdatei in Rad - Format ( .whl ) zum Download,
  • Installieren Sie in der Venv / virtualenv Sie gearbeitet haben, zum Beispiel:

        $ source bin/activate
        (venv) $ pip install --no-index ~/Downloads/pip-19.0.1-py2.py3-none-any.whl
        (venv) $ pip --version
         pip 19.0.1 from ...
    

Aber Upgrade / Installation der neueren Version pip ist das halbe Leben. Denn es PyPI verbinden zu können, müssen wir die Ursache beheben: die InsecurePlatformWarning .. Caused by SSLError .. SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version'. Um es zu beheben, müssen Sie manuell installieren (in gleicher Weise) zusätzliche Pakete neben pip. Die detaillierte Schritt- für -Schritt - Anleitung hier auf Stackoverflow: Kann nicht Python - Pakete mit pip in Ubuntu Linux installieren: InsecurePlatformWarning, SSLError, TLSv1 Alarmprotokollversion

Beantwortet am 08/02/2019 um 20:17
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more