Python3.10の新機能 Python 3.10の新機能(その8) OpenSSL 1.1.1が必須に

(その1) パターンマッチ(その2) with文のネスト(その3) エラーメッセージの改善(その4) | 演算子によるユニオン型の指定(その5) パラメータ仕様変数(その6) 明示的な型エイリアス(その7) ユーザ定義型ガード(その8) OpenSSL 1.1.1が必須に(その9) zip()関数に引数 strict を追加(その10) Dataclassでslotsが利用可能に

Pythonでは、https通信やメッセージダイジェストの作成などの暗号関連機能に、OpenSSLを利用しています。

これまで、Pythonでは OpenSSL のVersion 1.0.2以降が利用可能でしたが、Python 3.10からは、OpenSSL 1.1.1以降が必須となりました(PEP 644 Require OpenSSL 1.1.1 or newer)。

WindowsやMacなどで、Python.orgのインストーラを利用する場合には、OpensSSLの最新版が含まれているので気にする必要はありません。また、Macのbrewなどでインストールする場合も、OpenSSL 1.1.1が使用されます。

Linux環境などで独自にPythonをビルドする場合には、OpenSSL 1.1.1以降を用意する必要があります。現在では主要なLinuxディストリビューションはOpenSSL 1.1.1以降を採用しており、そのまま利用できます。

PEP 644 Require OpenSSL 1.1.1 or newer が作成された当時は Ubuntu 18.04 LTS では OpenSSL 1.1.0が使われていたようですが、現在ではOpenSSL 1.1.1 に更新されており、問題なく利用できます。

CentOS 7へのインストール

CentOS 7ではOpenSSL 1.0.2が使用されているため、Python3.10をインストールする場合にはEPELからOpenSSL 1.1.1 をインストールする必要があります。Python 3.10のソースをダウンロードし、アーカイブを展開したら、次のコマンドでOpenSSL 1.1.1をインストールしてからビルドします。

yum install epel-release
yum install openssl11 openssl11-devel

export CFLAGS=$(pkg-config --cflags openssl11)
export LDFLAGS=$(pkg-config --libs openssl11)

./configure
make
sudo make install

CentOSへのPythonのインストールについては、CentOS 環境のPython も参照してください。

Debian 7へのインストール

Debian 7 ではOpenSSL 1.1.0が使用されており、そのままではPython 3.10以降をインストールできません。独自にOpenSSL 1.1.1以降をインストールする必要があります。

Copyright © 2001-2021 python.jp Privacy Policy python_japan
Amazon.co.jpアソシエイト
Amazonで他のPython書籍を検索