2017-10-07 4 views
2

내가 방금 설치 한 파이썬 사용 : PIP가 TLS/SSL을 요구 위치로 구성되어 있습니다 : pip3이 VIRTUALENVSSL 오류 설치 python3

를 설치 양조 내가 다음 실행

python3 설치는이 오류가있어 , 그러나 파이썬에서 ssl 모듈을 사용할 수 없습니다. virtualenv 수집 URL을 가져올 수 없습니다. https://pypi.python.org/simple/virtualenv/ : SSL 인증서를 확인하는 동안 문제가 발생했습니다. SSL 모듈을 사용할 수 없기 때문에 HTTPS URL에 연결할 수 없습니다. - 건너 뛰기 요구 사항을 충족하는 버전을 찾을 수 없습니다. virtualenv (버전 :) virtualenv에 일치하는 배포본이 없습니다.

어떻게 SSL 오류를 수정합니까?

+1

을 당신은 확실히 당신은 당신의 양조 설치 python3와 함께 제공되는 pip3를 실행? pip3, python3 등의 위치를 ​​확인하십시오. – pvg

+0

참조 : https://stackoverflow.com/questions/41489439/pip3-installs-inside-virtual-environment-with-python3-6-failing-due-to-ssl- MODUL/42798679 내가 python3 확인 – alexisdevarennes

+0

@pvg가 여기에 있습니다 : 의 sys.path = [ '/ 사용자/bootadmin', '/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6 /lib/python36.zip ', '/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6 ', '/ usr/local/Cellar/python3 /3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload ', '/usr/local/lib/python3.6/site-packages ', '/ usr/local /Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages ', ] pip3 디렉토리를 찾는 방법이 확실하지 않습니다. –

답변

0

인증 단계를 건너 뛰었습니다.

로컬 설치에서 복사하면 certifi ssl 설치 단계가 실행됩니다.

brew install openssl 
ln -s /usr/local/Cellar/openssl/{version}/include/openssl /usr/bin/openssl 
pip install certifi 

그런 다음이 실행 :

# install_certifi.py 
# 
# sample script to install or update a set of default Root Certificates 
# for the ssl module. Uses the certificates provided by the certifi package: 
#  https://pypi.python.org/pypi/certifi 

import os 
import os.path 
import ssl 
import stat 
import subprocess 
import sys 

STAT_0o775 = (stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR 
      | stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP 
      | stat.S_IROTH |    stat.S_IXOTH) 


def main(): 
    openssl_dir, openssl_cafile = os.path.split(
     ssl.get_default_verify_paths().openssl_cafile) 

    print(" -- pip install --upgrade certifi") 
    subprocess.check_call([sys.executable, 
     "-E", "-s", "-m", "pip", "install", "--upgrade", "certifi"]) 

    import certifi 

    # change working directory to the default SSL directory 
    os.chdir(openssl_dir) 
    relpath_to_certifi_cafile = os.path.relpath(certifi.where()) 
    print(" -- removing any existing file or link") 
    try: 
     os.remove(openssl_cafile) 
    except FileNotFoundError: 
     pass 
    print(" -- creating symlink to certifi certificate bundle") 
    os.symlink(relpath_to_certifi_cafile, openssl_cafile) 
    print(" -- setting permissions") 
    os.chmod(openssl_cafile, STAT_0o775) 
    print(" -- update complete") 

if __name__ == '__main__': 
    main() 
+0

그 코드를 실행하고이 오류가있어 :/USR " 수입 SSL 파일에 파일"test.py ", 줄 9 : F : 프로그래밍 bootadmin의 $의 python3의 test.py 역 추적 (마지막으로 가장 최근에 전화를) /local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/ssl.py ", 라인 101, import _ssl # 가져올 수없는 경우 let 오류가 전파됩니다. ImportError : dlopen (/usr/local/Cellar/python3/3.6.3/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload/_ssl.cpython-36m-darwin.so , 2) : 라이브러리가로드되지 않음 : /usr/local/opt/openssl/lib/libssl.1.0.0.dylib –

+0

어떤 오류가 있습니까? pip를 설치하여 certifi를 설치하고 양조 설치 openssl을 설치 했습니까? – alexisdevarennes

+0

멍청이 양조 설치 openssl :) – alexisdevarennes