GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kompiliere und installiere ich Python mit OpenSSL-Unterstützung?

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!


Linux
  1. So installieren Sie Python 2 und Python 3 auf Fedora 35

  2. Wie installiere ich Python unter Ubuntu 20.04 und 18.04?

  3. So installieren Sie Elasticsearch auf Ubuntu 22.04 mit SSL

  4. So installieren Sie Apache 2 mit SSL unter Linux (mit mod_ssl, openssl)

  5. Wie kompiliert man eine .c-Datei mit OpenSSL-Includes?

So installieren Sie Flask mit Python 3 unter Ubuntu 18.04

So installieren Sie Python 2 und Python 3 unter CentOS 8

So installieren Sie FTP mit SSL in Rocky Linux und AlmaLinux

So installieren Sie Python 2.7 unter CentOS 7.1 oder 6.7 mit Anaconda

So installieren Sie Apache mit Python Mod_wsgi unter Debian 10

So installieren und konfigurieren Sie WordPress mit Ansible