[python] Python의 SSL 모듈을 사용할 수 없음 (OSX에서)

pip installOSX 10.13의 virtualenv에서 실행하는 데 문제가 있습니다. 나는 이미 달리고 brew install openssl경로는을 /usr/local/include/openssl가리 킵니다 ../opt/openssl/include/openssl. 누구든지 이것을 고치는 방법을 알고 있습니까? 을 python사용하여 다시 설치 한 후에 발생했습니다 brew install.

pip는 TLS / SSL이 필요한 위치로 구성되지만 Python의 ssl 모듈은 사용할 수 없습니다. 필로우 수집 URL을 가져올 수 없습니다 https://pypi.python.org/simple/pillow/ : SSL 인증서를 확인하는 데 문제가 있습니다. SSL 모듈을 사용할 수 없으므로 HTTPS URL에 연결할 수 없습니다. -skipping Pillow 요구 사항을 충족하는 버전을 찾을 수 없습니다 (버전에서 🙂 Pillow에 대해 일치하는 배포를 찾을 수 없습니다

업데이트 : 여기에 더 많은 정보가 있습니다.

 which python
/usr/local/opt/python/libexec/bin/python
 which pip
/usr/local/opt/python/libexec/bin/pip
 python --version
Python 3.7.4
 pip --version
pip 19.1.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
 brew info python
python: stable 3.7.4 (bottled), HEAD
Interpreted, interactive, object-oriented programming language
https://www.python.org/
/usr/local/Cellar/python/3.6.5_1 (4,795 files, 100.0MB)
  Poured from bottle on 2019-10-08 at 14:39:37
/usr/local/Cellar/python/3.7.4_1 (3,903 files, 60.6MB) *
  Poured from bottle on 2019-10-08 at 14:37:10
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/python.rb

그렇습니다. 3.6.5_1과 3.7.4_1을 둘 다 설치해야하므로 둘 사이를 전환해야합니다.

 brew unlink openssl
Unlinking /usr/local/Cellar/openssl/1.0.2s... 0 symlinks removed



답변

ssl모듈뿐만 아니라 기저 C 확장이 나타날의 일부가 python화학식 :

Mac-Admin:~ admin$ python3
Python 3.7.4 (default, Sep  7 2019, 18:27:02)
[Clang 10.0.1 (clang-1001.0.46.4)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> ssl
<module 'ssl' from '/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/ssl.py'>
>>> import _ssl
>>> _ssl
<module '_ssl' from '/usr/local/Cellar/python/3.7.4_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/lib-dynload/_ssl.cpython-37m-darwin.so'>

따라서 대부분 누락 brew reinstall python되면 수정해야 할 패키지 설치 손상을 의미합니다 .


또한 Homebrew는 여러 버전을 공존시킬 수 있지만 설치 논리는 대체 버전 이 버전 화 된 공식을 통해 설치되지 않는 한 대체 버전을 계속 작동하도록 설계되지 않았습니다 (예 : 정기적으로 이전 버전을 정기적으로 제거함)brew cleanup ).

따라서 Python 버전 또는 버전이 지정된 수식을 제공하는 타사 탭을 정기적으로 전환 해야하는 경우 (을 pyenv통해 사용 가능 brew)을 사용하는 것이 좋습니다.


답변

Mac OSX 카탈리나 (OSX Mojave와 동일한 문제) Pyenv

이 주제를 검색하는 사람에게도 동일한 제시 문제가 있었지만 Homebrew와 Pyenv를 통해 Python을 설치했습니다! Pyenv를 사용하여 버전을 쉽게 관리하는 것이 더 좋을 것입니다. @ivan_pozdeev의 답변에서 언급했듯이 여기에 원하는 세부 사항이 있습니다.

당신의 상황이 비슷하다면, 위의 해결책 중 어느 것도 제대로 설정하기에 충분하지 않습니다. 부분적으로 내가 여기 Pyenv 관련 답변으로 도움이되었다 https://stackoverflow.com/a/51797298/3084820 나는 또한 한 일어난 pyenv-virtualenv설치 그것의 일반적인는이 두 가지를 사용하는 등, 그래서 그뿐만 아니라 언급.

마침내 문제를 해결하기 위해 다음 단계를 수행했습니다.

brew uninstall python
rm -rf $(pyenv root)
brew uninstall pyenv-virtualenv   # you may not have this installed, but...
brew uninstall pyenv

이제 Pyenv를 사용하여 깔끔하게 설치할 수 있습니다.

brew install pyenv
pyenv install 3.6.10  (or whatever version you want)

이로 인해 Python 3.6.10을 깨끗하고 효과적으로 설치할 수 있었으며 원하는 경우 다른 버전을 설치하고 Pyenv로 전환 할 수있었습니다.


답변

카탈리나와 비슷한 문제가 있었고 홈 브루를 다시 설치하지 못했습니다. 나는 몇 가지를 시도했다.

brew reinstall openssl
brew reinstall pyenv
brew reinstall pyenv-virtualenv

궁극적으로 나를 위해 일한 유일한 것은 기본 파이썬 설치뿐만 아니라 완전히 제거 한 다음 모든 것을 다시 설치하는 것이 었습니다.

brew uninstall pyenv pyenv-virtualenv
brew install pyenv pyenv-virtualenv
pyenv uninstall 3.x.x
pyenv install 3.x.x
pip install -r requirements.txt


답변

같은 문제가 있지만 다시 설치해도 효과가 없습니다.

⇒ python3
/ usr / local / bin / python3 blamb @ cha-109164-l : / usr / local / bin | master⚡

⇒ 어느 pip3 / usr / local / bin / pip3 blamb @ cha-109164-l : / usr / local / bin | master⚡

⇒ pip3 -V pip 19.3.1 from /usr/local/lib/python3.7/site-packages/pip (python 3.7) blamb @ cha-109164-l : / usr / local / bin | master⚡

⇒ python3 -V Python 3.7.0 blamb @ cha-109164-l : / usr / l


답변

나는 같은 오류가 있었고 pyenv 환경에서 python 3.6.5를 사용하고 있었기 때문입니다. 아래 치료법이 나를 위해 일했습니다.

pyenv install 3.7.3
pyenv global 3.7.3


답변

나는 또한이 오류가 있었고 brew update && brew upgrade


답변

내 수정은 pyenv와 python을 다시 설치하는 것입니다.

 brew uninstall pyenv pyenv-virtualenv
 brew install pyenv pyenv-virtualenv
 pyenv uninstall 3.6.5
 pyenv install 3.6.5