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

おすすめ記事