ssl
모듈 동작 재부 (OS) 소켓 (액세스하는 TLS / SSL 래퍼 리브 / ssl.py )를. 따라서 ssl
모듈을 사용할 수없는 경우 OS OpenSSL 라이브러리가 설치되어 있지 않거나 Python을 설치할 때 해당 라이브러리를 찾을 수 없습니다. 나중의 경우라고 가정합니다 (일명 : 이미 OpenSSL이 설치되어 있지만 Python을 설치할 때 올바르게 연결되지 않음).
또한 소스에서 설치한다고 가정합니다. 바이너리 (예 : Window .exe 파일) 또는 패키지 (Mac .dmg 또는 Ubuntu apt)에서 설치하는 경우 설치 프로세스로 할 수있는 작업이 많지 않습니다.
Python 설치를 구성하는 단계에서 OS OpenSSL을 링크에 사용할 위치를 지정해야합니다.
# python 3.8 beta
./configure --with-openssl="your_OpenSSL root"
그렇다면 설치된 OpenSSL 디렉토리는 어디에서 찾을 수 있습니까?
# ubuntu
locate ssl.h | grep '/openssl/ssl.h'
/home/user/.linuxbrew/Cellar/openssl/1.0.2r/include/openssl/ssl.h
/home/user/envs/py37/include/openssl/ssl.h
/home/user/miniconda3/envs/py38b3/include/openssl/ssl.h
/home/user/miniconda3/include/openssl/ssl.h
/home/user/miniconda3/pkgs/openssl-1.0.2s-h7b6447c_0/include/openssl/ssl.h
/home/user/miniconda3/pkgs/openssl-1.1.1b-h7b6447c_1/include/openssl/ssl.h
/home/user/miniconda3/pkgs/openssl-1.1.1c-h7b6447c_1/include/openssl/ssl.h
/usr/include/openssl/ssl.h
귀하의 시스템은 내 시스템과 다를 수 있지만 여기에서 볼 수 있듯이 설치된 여러 openssl 라이브러리가 있습니다. 이 글을 쓰는 시점에서 파이썬 3.8은 openssl 1.0.2 또는 1.1을 예상합니다.
Python에는 X509_VERIFY_PARAM_set1_host ()와 함께 OpenSSL 1.0.2 또는 1.1 호환 libssl이 필요합니다.
따라서 링크에 사용할 수있는 설치된 라이브러리를 확인해야합니다. 예를 들면
/usr/bin/openssl version
OpenSSL 1.0.2g 1 Mar 2016
./configure --with-openssl="/usr"
make && make install
Python 및 OS에서 작동하는 라이브러리를 찾으려면 몇 가지를 시도하거나 새로 설치해야 할 수 있습니다.
sudo apt-get install python3-pip
??