GNU/Linux >> Znalost Linux >  >> Linux

Jak zkompilovat a nainstalovat Python s podporou OpenSSL?

Vaše instalace Pythonu nepodporuje SSL? Po úpravě Setup.dist jej musíte znovu zkompilovat soubor umístěný ve zdrojovém adresáři Pythonu. Podívejme se, jak na to.

Než začneme, zkontrolujte, zda vaše stávající instalace Pythonu podporuje OpenSSL, jak je uvedeno níže:

$ python

Do příkazového řádku pythonu zadejte ‚import ssl‘

>>> import ssl

Pokud vidíte níže uvedenou chybu, pak Python nepodporuje 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
>>>

Poznámka: Ve starších verzích Pythonu můžete zkusit použít ‘hasattr ‘ funkce, jak je znázorněno níže:

>>> import socket
>>> hasattr(socket,"SSL")
False
>>>

Pokud vidíte „False “, pak Python nepodporuje SSL.

Jak kompilovat Python ze zdroje s podporou OpenSSL

Předpoklady:

OpenSSL by mělo být nainstalováno ve výchozím nastavení, ale pokud jej nemáte, nainstalujte jej podle obrázku níže.

Nainstalujte OpenSSL a jeho vývojové balíčky jak je uvedeno níže:

$ yum install openssl
$ yum install openssl-devel

(nebo)

Nainstalujte OpenSSL ze zdroje:

$ wget http://www.openssl.org/source/openssl-1.0.2e.tar.gz
$ ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl

Poznámka: Ve výchozím nastavení bude openssl nainstalováno pod /usr/local/ssl . Pokud si nechcete zahrávat se stávající instalací SSL, nainstalujte ji do jiného adresáře.

$ make
$ make test
$ make install

Instalace OpenSSL je dokončena. Pojďme nyní zkompilovat Python.

Stáhnout zdroj Pythonu:

$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

Vyhledejte „SSL “ a odkomentujte kód, jak je uvedeno níže (ve verzi 3.5, od řádku 203 do 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

Poznámka: V případě, že jste nainstalovali OpenSSL v nestandardním umístění, musíte změnit ‘SSL ‘ k odkazování na správnou cestu ve výše uvedeném kódu.

Například,

_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

Po dokončení

$ ./configure
$ make
$ make install

Zkontrolovat podporu OpenSSL v Pythonu

$/usr/local/bin/python3.5

Do příkazového řádku pythonu zadejte „import ssl

>>> import ssl

Pokud nevidíte žádnou chybu, pak Python podporuje SSL. To je ono!


Linux
  1. Jak nainstalovat Python 2 a Python 3 na Fedoru 35

  2. Jak nainstalovat Python na Ubuntu 20.04 a 18.04?

  3. Jak nainstalovat Elasticsearch na Ubuntu 22.04 s SSL

  1. Jak nainstalovat Python 3 na CentOS 7 s SCL

  2. Jak nainstalovat Apache 2 s SSL na Linuxu (s mod_ssl, openssl)

  3. Jak zkompilovat .c soubor s OpenSSL zahrnuje?

  1. Jak nainstalovat Python Pip na Ubuntu 18.04 a 20.04

  2. Jak nainstalovat Drupal 8 s Nginx, PHP-FPM a SSL na Ubuntu 15.10

  3. Jak nainstalovat Drupal 8 s Apache, MySQL a SSL na Ubuntu 15.10