[python] pip3으로 패키지를 설치할 때 “Python의 SSL 모듈을 사용할 수 없습니다”

로컬 컴퓨터에 Python 3.4 및 Python 3.6을 성공적으로 설치했지만 pip3.

실행 pip3 install <package>하면 다음과 같은 SSL 관련 오류가 발생합니다.

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
Collecting <package>
  Could not fetch URL https://pypi.python.org/simple/<package>/: There was a problem confirming the ssl certificate: Can't connect to HTTPS URL because the SSL module is not available. - skipping
  Could not find a version that satisfies the requirement <package> (from versions: )
No matching distribution found for <package>

패키지를 설치할 수 있도록 Python3.x 설치를 어떻게 수정 pip install <package>합니까?



답변

Ubuntu에 Python 3.6 및 pip3를 설치하는 단계별 가이드

  1. Python 및 SSL에 필요한 패키지를 설치합니다. $ sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

  2. https://www.python.org/ftp/python/ 에서 “Python-3.6.8.tar.xz”를 다운로드 하여 홈 디렉토리에 압축을 풉니 다 .

  3. 해당 디렉토리에서 터미널을 열고 다음을 실행하십시오. $ ./configure

  4. 빌드 및 설치 : $ sudo make && sudo make install

  5. 다음을 사용하여 패키지 설치 : $ pip3 install package_name


답변

Red Hat / CentOS를 사용하는 경우 :

# To allow for building python ssl libs
yum install openssl-devel
# Download the source of *any* python version
cd /usr/src
wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
tar xf Python-3.6.2.tar.xz
cd Python-3.6.2

# Configure the build w/ your installed libraries
./configure

# Install into /usr/local/bin/python3.6, don't overwrite global python bin
make altinstall


답변

Windows에서 아나콘다를 사용하는 경우 이것은 나를 위해 일했습니다.

작동하지 않는 다른 솔루션을 많이 시도했습니다 (환경 경로 변수 변경 …)

이 문제는 Windows \ System32 폴더의 DLL (예 : libcrypto-1_1-x64.dll 또는 libssl-1_1-x64.dll 또는 기타)에 의해 다른 소프트웨어에 의해 발생할 수 있습니다.

수정 사항은 https://slproweb.com/products/Win32OpenSSL.html 에서 openSSL을 설치하는 것이 었는데, 이는 dll을 최신 버전으로 대체합니다.


답변

3.6 위에 Python 3.7을 설치 한 memcached를 설치했기 때문에 OSX 10.11에서 비슷한 문제가 발생했습니다.

경고 : pip는 TLS / SSL이 필요한 위치로 구성되어 있지만 Python의 ssl 모듈은 사용할 수 없습니다.

openssl을 연결 해제하고, 재설치하고, 경로를 변경하는 데 몇 시간을 보냈지 만 아무것도 도움이되지 않았습니다. openssl 버전을 이전 버전으로 다시 변경하면 트릭이 발생했습니다.

brew switch openssl 1.0.2e

인터넷 어디에서도이 제안을 보지 못했습니다. 누군가에게 도움이되기를 바랍니다.


답변

mastaBlasta의 답변에 동의하십시오. 나를 위해 일했습니다. 주제 설명과 동일한 문제가 발생했습니다.

환경 : MacOS Sierra. 그리고 저는 Homebrew를 사용합니다.

내 솔루션 :

  1. openssl을 다시 설치하십시오. brew uninstall openssl; brew install openssl
  2. Homebrew가 제공하는 힌트에 따라 다음을 수행하십시오.

    echo 'export PATH="/usr/local/opt/openssl/bin:$PATH"' >> ~/.bash_profile
    export LDFLAGS="-L/usr/local/opt/openssl/lib"
    export CPPFLAGS="-I/usr/local/opt/openssl/include"

답변

Ubuntu에서는 다음이 도움이 될 수 있습니다.

cd Python-3.6.2
./configure --with-ssl
make
sudo make install


답변

openssl을 다운 그레이드하는 것이 저에게 효과적이었습니다.

brew switch openssl 1.0.2s