RHEL 6のPython-3.8にはSSLが必要です。

RHEL 6のPython-3.8にはSSLが必要です。

私はLinux 6を実行している古いサーバーを使用しています。 s3バケットに直接ファイルを保存できるように、コンピュータにaws-CLIをインストールするように求められました。これにはPython 3.4以降が必要です(2020年1月現在)。

最初の試行の後、次のエラーが発生します。

# pip3 install awscli --upgrade --user
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting awscli
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/awscli/
  WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/awscli/
  WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/awscli/
  WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/awscli/
  WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")': /simple/awscli/
  Could not fetch URL https://pypi.org/simple/awscli/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/awscli/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping
  ERROR: Could not find a version that satisfies the requirement awscli (from versions: none)
ERROR: No matching distribution found for awscli
WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Could not fetch URL https://pypi.org/simple/pip/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pip/ (Caused by SSLError("Can't connect to HTTPS URL because the SSL module is not available.")) - skipping

デフォルトでは、SSLパケットは失われます。 YUMからいくつかのパッケージをインストールして再実行しました。./構成、生産、そしてインストールするためにそしてまだSSLモジュールエラーがあります。

一部の投稿やブログの助けを借りて、SSLパッケージを表示するとこのエラーが発生する可能性がありますが、インポートされませんでした。この時点で、ソースからPython-3.8をインストールできました。この期間中作るその過程で、私は次のような行を見ました。

# ./configure --with-openssl=/usr/src/openssl-1.0.2o --enable-optimizations
# make

Following modules built successfully but were removed because they could not be imported:
_hashlib              _ssl


Could not build the ssl module!
Python requires an OpenSSL 1.0.2 or 1.1 compatible libssl with X509_VERIFY_PARAM_set1_host().

その後、Pythonからパッケージをインポートしようとすると、次のような結果が表示されます。

python3.8
Python 3.8.0 (default, Oct 17 2019, 10:40:08)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-23)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.8/ssl.py", line 98, in <module>
    import _ssl             # if we can't import it, let the error propagate
ModuleNotFoundError: No module named '_ssl'
>>> exit()

RHEL6にaws-cliをインストールする究極の目標を達成できますか?現在持っている混乱した部分を整理/削除するのに必要なステップを含めてください。

私が試した参考資料:

  1. https://stackoverflow.com/questions/53543477/building-python-3-7-1-ssl-module-failed
  2. https://jameskiefer.com/posts/installing-python-3.7-on-debian-8/
    ^ これがDabianであることを知っていますが、ソースからSSLをインストールする手順が役立ちます。
  3. https://stackoverflow.com/questions/32856389/how-to-import-ssl-in-python-2-7-6

答え1

openssl私は同じ問題があり、ライブラリパスを次のように追加して問題を解決しましたrpath

LDFLAGS=-Wl,-rpath=/usr/src/openssl-1.0.2o/lib
./configure --with-openssl=/usr/src/openssl-1.0.2o --enable-optimizations
make

答え2

IUScommunityでは、Centos 6システムにインストールできるPython> 3.4用のrpmを見つけることができます。 (GoogleでそのURLを検索してください。)これにより、Pythonを最初からコンパイルしようとしたときに発生する問題を回避できます。

過去数ヶ月間、yumリポジトリを使用する以外に、それらに連絡したことはありません。

関連情報