OSX에서 Python3의 인증서 문제


3

OSX를 사용하는 여러 사용자와 동일한 python 문제가 있습니다. 이는 https를 통해 아무것도 액세스하려고 할 때 나타납니다.

ssl.SSLError : [SSL : CERTIFICATE_VERIFY_FAILED] 인증서 확인에 실패했습니다 (_ssl.c : 749)

https://stackoverflow.com/questions/42098126/mac-osx-python-ssl-sslerror-ssl-certificate-verify-failed-certificate-verify 솔루션에 대해 알고 있습니다 .

그러나 불행히도 다음과 같은 폴더가 없으면

/Applications/Python 3.6/ReadMe.rtf

따라서 나는 진행하는 방법을하지 않습니다. 특히 python3을 설치할 때 사용하여 수행했습니다.

brew install python3

나는 또한 명령을 시도했다

brew upgrade python3 

그러나 아무것도 바뀌지 않았습니다. 또한 brew에 따르면 python 3.7.2.1이 설치되어 있는데 업그레이드를 다시 시도하면 다음 오류가 반환됩니다.

Tommasos-MBP:~ tommaso$ brew upgrade python3
Error: python3 3.7.2_1 already installed

그러나 내 컴퓨터의 python3 버전을 확인하면이를 얻습니다.

Tommasos-MBP:~ tommaso$ python3 --version
Python 3.6.3

어떻게 진행해야합니까? Brew는 Python이 3.6 인 동안 3.7을 설치했다고 생각합니까?

편집 Brew 의사를 실행하면 다음과 같은 결과가 나타납니다.

경고 : "config"스크립트는 시스템 또는 Homebrew 디렉토리 외부에 있습니다. ./configure스크립트는 종종 소프트웨어 패키지가 설치되어 있는지 여부와 컴파일 및 링크시 사용할 추가 플래그를 결정하기 위해 * -config 스크립트를 찾습니다.

구성 스크립트가 동일한 이름의 시스템 또는 Homebrew 제공 스크립트를 재정의하는 경우 경로에 추가 스크립트가 있으면 Homebrew를 통해 설치된 소프트웨어를 혼동 할 수 있습니다. 다음과 같은 "설정"스크립트를 찾았습니다.
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6m-config /Library/Frameworks/Python.framework/Versions/3.6/bin/python3-config
/ Library / 프레임 워크 /Python.framework/Versions/3.6/bin/python3.6-config

경고 : 지하실에 연결되지 않은 통이 있습니다. 연결되지 않은 통을 남겨두면 빌드 문제가 생길 수 있으며,이 통에 의존하는 추출기가 일단 만들어지면 제대로 작동하지 않을 수 있습니다. brew linkpython
berkeley-db 에서 실행하십시오 .


의 정보를 읽으십시오 brew info python. 실행 which -a python하거나 which -a python3바이너리가 저장된 위치와 선호하는 바이너리가 표시됩니다. PATH그에 따라 조정해야 할 수도 있습니다 . 어쨌든 현재 Python 3.6.3은 어디에서 왔습니까?
slhck

답변 주셔서 감사합니다! brew info python 명령에 대해 몰랐습니다! 내가 달릴 때 나는 which -a python3 다음을 얻는다 :/Library/Frameworks/Python.framework/Versions/3.6/bin/python3 /Library/Frameworks/Python.framework/Versions/3.6/bin/python3 /usr/local/bin/python3
Tommaso Bendinelli

이 3.6 버전을 어느 시점에 설치 했습니까? 실행하십시오 brew doctor... 파이썬 3.6에 대해 무엇을해야하는지 알려줄 것입니다. 필요하지 않으면 제거하고 Homebrew Python으로 작업하는 것이 좋습니다. /Library/Frameworks/Python.framework/Versions/3.6/폴더를 완전히 삭제 하고 Homebrew Python을 다시 설치 해야 할 수도 있습니다 .
slhck

게시물에서 편집 참조
Tommaso Bendinelli

답변:


1

여러 버전의 Python 3을 실행 중입니다.

  • 하나의 공식 설치 프로그램을 통해 설치로 /Library/Frameworks/Python.framework/Versions/3.6//Applications/Python 3.6(3.6)
  • 경유 1 개 brew install python(3.7)

충돌 할 수 있습니다. 어쨌든 그들 중 하나만 필요합니다. 첫 번째 것을 제거하고 Homebrew Python 만 사용하는 것이 좋습니다. 그렇다면 잠재적 인 파이썬 문제가 어디에서 왔는지 확신 할 수 있습니다.

설치 제거를 수행하려면 두 개의 폴더를 제거하고 쉘을 다시로드해야합니다. 이 파이썬 버전을 가리키는 심볼릭 링크를 제거해야 할 수도 있습니다.

ls -l /usr/local/bin | grep 'Python.framework/Versions/3.6' 

그런 다음을 실행하십시오 brew reinstall python.

Homebrew를 통한 새 Python 3.7 버전은 /usr/local/bin/python3에 있으므로 $PATH,이 디렉토리를 포함 python3하고 Homebrew의 Python을 원할 때 호출해야합니다 .

python3.7 버전 을 사용하도록 선택할 수도 있습니다 . 이 경우의 "버전없는 심볼릭 링크"에 대한 참고 사항을 읽으십시오 brew info python.


한 가지 질문만으로 정말 감사합니다. 공식 설치 프로그램 폴더를 삭제하기 전에 사용했던 모든 패키지를 다시 다운로드해야합니까? 그렇다면 어떻게 액세스 할 수 있습니까?
Tommaso Bendinelli

로 다시 설치해야합니다 pip. pip3 freeze > requirements.txt이전 버전을 제거하기 전에 실행했습니다 . 그러면 언제든지 다시 설치할 수있는 형식으로 출력이 제공됩니다 pip3 install -r requirements.txt. pip3 list실제로 무언가를 출력하고 pip3이전 설치 를 올바르게 가리키는 지 확인하십시오 .
slhck
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.