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 저장소를 사용하는 것 외에는 그들과 접촉한 적이 없습니다.

관련 정보