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以降をインストールする必要があります。