복붙노트

[PYTHON] OS X에서의 Python 및 OpenSSL 버전 참조 문제

PYTHON

OS X에서의 Python 및 OpenSSL 버전 참조 문제

내가 가지고있는 OpenSSL 버전 문제를 해결하려고합니다.

Mac에 OpenSSL 버전이 세 가지 인 것 같습니다.

최근 OS X을 10.11.5로 업그레이드했습니다. 이 과정에서 이전에 작동했던 Python 스크립트에 문제가 발생했습니다. 다음은 오류 메시지 스 니펫입니다.

파이썬 오류 메시지 :

 You are linking against OpenSSL 0.9.8, which is no longer *
 RuntimeError: You are linking against OpenSSL 0.9.8, which is no longer support by the OpenSSL project. You need to upgrade to a newer version of OpenSSL.

(* - 예, 오류 메시지는 다음과 같습니다. 문장의 중간 부분이 잘립니다.)

이 문제를 해결하기위한 권장 사항은 크게 감사하겠습니다. 제가 원했던 것은 Python이 OpenSSL 버전 1.0.2h와 구 버전 0.9.7m을 참조하도록하는 것입니다.

행운없이 여러 포스트 / 블로그를 사용하여 파이썬과 OpenSSL을 여러 번 설치하려고 시도했습니다.

해결법

  1. ==============================

    1.최신 버전의 openssl을 사용하는 Python 버전을 설치할 수 있습니다.

    최신 버전의 openssl을 사용하는 Python 버전을 설치할 수 있습니다.

    먼저 오픈 SSL의 새 버전을 추출 할 수 있습니다.

    brew update
    brew install openssl
    brew link --force openssl
    

    다음과 함께 최신 버전이 표시되어야합니다.

    openssl version -a
    

    그런 다음 openssl의 최신 버전을 사용하는 다른 버전의 Python을 설치할 수 있습니다. pyenv를 사용하면 다음과 같습니다.

    CFLAGS="-I$(brew --prefix openssl)/include" \
    LDFLAGS="-L$(brew --prefix openssl)/lib" \
    pyenv install -v 3.4.3
    

    양조가 설치된 버전의 openssl과 함께 python 버전을 설치하는 방법에 대한 자세한 내용은 https://github.com/yyuu/pyenv/wiki/Common-build-problems를 참조하십시오.

  2. ==============================

    2.이 문제를 해결 방법으로 사용하십시오.

    이 문제를 해결 방법으로 사용하십시오.

    export CRYPTOGRAPHY_ALLOW_OPENSSL_098=1
    

    이것은 유해 물질 암호화 라이브러리에 대한 최근 점검 인 것 같습니다. 다음 위치에서 소스 코드를 볼 수 있습니다.

    https://github.com/pyca/cryptography/blob/master/src/cryptography/hazmat/bindings/openssl/binding.py#L221

    CRYPTOGRAPHY_ALLOW_OPENSSL_098 환경 변수는 위험을 감수하고자하는 경우 오류를 비추천 경고로 다운 그레이드합니다. 나는 또한 지난날 OS X에서이 문제에 부딪혔다. 그래서 최근에 뭔가 바뀌었다.

  3. ==============================

    3.이 문제는 거의 나를 죽인다 !!!! 마침내 내 녀석은 패키지 "paramiko"의 버전을 2. *에서 1.. * (1.15.4와 같이)로 낮춰서이 문제를 해결했습니다!

    이 문제는 거의 나를 죽인다 !!!! 마침내 내 녀석은 패키지 "paramiko"의 버전을 2. *에서 1.. * (1.15.4와 같이)로 낮춰서이 문제를 해결했습니다!

  4. ==============================

    4.얻는 경우 OpenSSL 1.0.0에 연결하면 export CRYPTOGRAPHY_ALLOW_OPENSSL_098 = 1 환경 변수를 사용하여 무시합니다. 고맙습니다 @ 브래 덕

    얻는 경우 OpenSSL 1.0.0에 연결하면 export CRYPTOGRAPHY_ALLOW_OPENSSL_098 = 1 환경 변수를 사용하여 무시합니다. 고맙습니다 @ 브래 덕

  5. ==============================

    5.아무런 해킹도 없었고, 위의 어떤 것도 나를 위해 일하지 못했습니다. 나는 간단하고 복잡하지 않은 접근법을 택했다.

    아무런 해킹도 없었고, 위의 어떤 것도 나를 위해 일하지 못했습니다. 나는 간단하고 복잡하지 않은 접근법을 택했다.

    https://www.python.org/downloads/mac-osx/

    sudo pip install --upgrade pyOpenSSL

  6. from https://stackoverflow.com/questions/37690054/python-and-openssl-version-reference-issue-on-os-x by cc-by-sa and MIT license