Ihre Python-Installation unterstützt kein SSL? Sie müssen es erneut kompilieren, nachdem Sie Setup.dist bearbeitet haben Datei, die sich im Python-Quellverzeichnis befindet. Mal sehen, wie das geht.
Bevor wir beginnen, überprüfen Sie, ob Ihre vorhandene Python-Installation OpenSSL unterstützt, wie unten gezeigt:
$ python
Geben Sie in der Python-Eingabeaufforderung „import ssl“
ein>>> import ssl
Wenn Sie einen Fehler wie unten sehen, unterstützt Python kein SSL.
$ python Python 2.4.3 (#1, Jan 9 2013, 06:47:03) [GCC 4.1.2 20080704 (Red Hat 4.1.2-54)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import ssl Traceback (most recent call last): File "<stdin>", line 1, in ? ImportError: No module named ssl >>>
Hinweis: In älteren Python-Versionen können Sie versuchen, „hasattr“ zu verwenden ‘ Funktion wie unten gezeigt:
>>> import socket >>> hasattr(socket,"SSL") False >>>
Wenn Sie „Falsch sehen “, dann unterstützt Python kein SSL.
Wie man Python aus der Quelle mit OpenSSL-Unterstützung kompiliert
Voraussetzungen:
OpenSSL sollte standardmäßig installiert sein, aber wenn Sie keines haben, installieren Sie es wie unten gezeigt.
Installieren Sie OpenSSL und seine Entwicklungspakete wie unten:
$ yum install openssl
$ yum install openssl-devel
(oder)
Installieren Sie OpenSSL von der Quelle:
$ wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz
$ ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl
Hinweis: Standardmäßig wird openssl unter /usr/local/ssl installiert . Wenn Sie nicht mit einer vorhandenen SSL-Installation herumspielen möchten, installieren Sie sie in einem anderen Verzeichnis.
$ make $ make test $ make install
Die OpenSSL-Installation ist abgeschlossen. Lassen Sie uns nun Python kompilieren.
Python-Quelle herunterladen:
$wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
$tar xvzf Python-3.5.1.tgz
$vim Modules/Setup.dist
Suchen Sie nach „SSL ” und kommentieren Sie den Code wie unten gezeigt aus (in Version 3.5 von Zeile 203 bis 210):
_socket socketmodule.c # Socket module helper for SSL support; you must comment out the other # socket line above, and possibly edit the SSL variable: #SSL=/usr/local/ssl _ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto
Hinweis: Falls Sie OpenSSL an einem nicht standardmäßigen Ort installiert haben, müssen Sie „SSL“ ändern ‘, um im obigen Code auf den richtigen Pfad zu verweisen.
Zum Beispiel,
_socket socketmodule.c # Socket module helper for SSL support; you must comment out the other # socket line above, and possibly edit the SSL variable: SSL=/usr/local/openssl _ssl _ssl.c \ -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ -L$(SSL)/lib -lssl -lcrypto
Sobald Sie fertig sind,
$ ./configure $ make $ make install
Python auf OpenSSL-Unterstützung prüfen
$/usr/local/bin/python3.5
Geben Sie in der Python-Eingabeaufforderung „import ssl“ ein ”
>>> import ssl
Wenn Sie keinen Fehler sehen, unterstützt Python SSL. Das ist es!