OpenSSLをソースから手動でコンパイルする必要があります。Ubuntu 18を使用しています。Ubuntu 18に同梱されているOpenSSLは、必要な特定の暗号をサポートしていません。しかし、OpenSSLを手動でコンパイルすれば有効にすることができます。私はこれを見つけましたマニュアルただし、OS のものではなく手動でインストールされた OpenSSL を取得するために、python ssl をリンクするにはどうすればよいでしょうか?
答え1
既存の Python インストールを再リンクすることはできず、ソースから別の Python ディストリビューションをビルドする必要があります。Python をビルドするときは、、および env 変数を適応させる必要がありますCPPFLAGS
。LDFLAGS
カスタムLD_LIBRARY_PATH
OpenSSL を にインストールしたと仮定します/path/to/openssl
。
$ cd /path/with/Python/sources/unpacked/
$ export LDFLAGS="-L/path/to/openssl/lib/ -L/path/to/openssl/lib64/"
$ export LD_LIBRARY_PATH="/path/to/openssl/lib/:/path/to/openssl/lib64/"
$ export CPPFLAGS="-I/path/to/openssl/include -I/path/to/openssl/include/openssl"
$ ./configure --prefix=/path/to/custom/python/
$ make
$ make install
これで、Python は/path/to/custom/python/
カスタム OpenSSL を使用するようになります。
$ /path/to/custom/python/bin/python -c "import ssl; print(ssl.OPENSSL_VERSION)"
OpenSSL 1.1.0h 27 Mar 2018