요청 (SSLError ( "SSL 모듈을 사용할 수 없기 때문에 HTTPS URL에 연결할 수 없습니다."로 인해 발생합니다.)) 웹 사이트를 요청하는 PyCharm 오류


84

Pycharm을 통해 Python3 Windows에서 요청을 사용하고 SSL 모듈을 사용할 수 없음 오류 수신

이 문제의 원인을 파악하기 위해 몇 시간을 보냈습니다. Anaconda를 다시 설치했는데 완전히 멈췄습니다. 다음을 실행할 때

def Earlybird(daycount):
    url = 'https://msft.com'
    response = requests.get(url)
    print(response)
Earlybird()

나는 오류를 받는다

requests.exceptions.SSLError: HTTPSConnectionPool(host='msft.com', 
port=443): Max retries exceeded with url: / (Caused by SSLError("Can't 
connect to HTTPS URL because the SSL module is not available."))

이 문제의 원인이 무엇인지 모르겠습니다. Anaconda가 최근 설치이기 때문에 모든 것이 최신 버전이라고 가정하므로 이것이 잘못된 SSL을 가리키는 지 확실하지 않습니다. 나는 파이썬을 처음 접했기 때문에 인내심에 감사드립니다. -


OpenSSL 에서이 slproweb.com/download/Win64OpenSSL-1_1_1c.exe 를 설치했습니다 . 내 문제를 해결했습니다.
Matej Novosad

답변:


101

이 문제가 아직 해결되었는지 모르겠지만 Windows 10에서 Anaconda python 3.7.3 및 Idle과 유사한 문제가 발생했습니다. 다음을 추가하여 해결했습니다.

<path>\Anaconda3
<path>\Anaconda3\scripts
<path>\Anaconda3\Library\bin

PATH 변수에.


여러 경로를 내 보내야하는 이유를 모르지만 저에게 효과적입니다. 감사합니다.
hui chen

1
이것은 나를 위해 일했습니다! "execstack ..."cmd가 아니라 이것입니다! 경로 / anaconda3 / 라이브러리 / 빈은 나를 위해 일한를 부가
ERJAN

1
이 3 가지 경로를 추가해야하는 방법 / 위치를 잘 모르겠습니까?
Alex Dana

Alex-이러한 항목을 PATH 환경 변수에 추가합니다 (예 : 아래 Mukesh Methaniya / Neuron 답변 참조)
Paul Stevens

이 경로를 어디에 추가해야합니까? 특정 폴더에서 파이썬 코드를 실행하려고합니다python get-pip.py
Danny Hern

24

나는 Windows 10을 사용하고 있으며 Python 3.7.4에 Anaconda를 새로 설치하는 데 문제가 있었으며 github 의이 게시물이 내 문제를 해결했습니다.

(출처 : https://github.com/conda/conda/issues/8273 )

나는 인용한다 :

"해결 방법 : 다음 파일을 복사했습니다.

libcrypto-1_1-x64.*
libssl-1_1-x64.*

D : \ Anaconda3 \ Library \ bin에서 D : \ Anaconda3 \ DLLs로.

그리고 그것은 매력으로 작동합니다! "


4
나를 위해 모든 것의 동일한 버전. 3.7.4가 있던 Windows 10 Miniconda. 이 솔루션으로 해결되었습니다.
Kevin Vasko

1
나를 위해 일했습니다. 감사합니다!
Tim Gottgetreu

13

Windows 사용자는 아래 경로를 설정해야합니다.

  • ..\Anaconda3
  • ..\Anaconda3\scripts
  • ..\Anaconda3\Library\bin

사용자 당 :

  1. 개방형 환경 변수
  2. 딸깍 하는 소리 User Variable
  3. 이미 열려있는 경우 명령 프롬프트를 닫고 다시 엽니 다.

시스템 전체 (다시 시작해야 함) :

  1. 개방형 환경 변수
  2. 딸깍 하는 소리 System Variable
  3. Windows 다시 시작


9

여기에서 바이너리를 설치했습니다 : https://slproweb.com/products/Win32OpenSSL.html 이 사이트는 공식 OpenSSL 위키에 언급되어 있습니다. 그것은 내 문제를 해결했다


1
거기에 많은 바이너리가 있는데 정확히 어느 것입니까? 정확한 링크 나 스크린 샷을 만드는 것이 좋습니다. MSI 파일과 함께 첫 번째 링크를 사용했고 작동했습니다. 친구에게 감사드립니다. slproweb.com/download/Win64OpenSSL_Light-1_1_1b.msi
Stepan Yakovenko


5

나는 Anaconda가 없으므로 내가 취한 단계는 다음과 같습니다.

  • brew uninstall python3
  • brew install python3
    • 오류 메시지가 나타 가지고, Your Xcode (10.2) is too outdated. Please update to Xcode 11.3 (or delete it). Xcode can be updated from the App Store.어떤 업데이트가 표시되지 것이기 때문에 ** 그래서, 나는 그것을 다시 설치, 엑스 코드를 삭제.
    • 뒤쫓 xcode-select --install았다. 그렇지 않으면 .. 오류가 발생합니다.The following formula python cannot be installed as binary package and must be built from source. Install the Command Line Tools: xcode-select --install
  • 실행 brew install python3되었고 성공적으로 완료되었습니다.

이 스크립트를 사용하여 작동하는지 확인했습니다.

import requests
r = requests.get('https://www.office.com')
print(r)

python3 및 python3.7 스크립트를 실행했고 출력이 <Response [200]>SSLError 대신에있었습니다.


5

2020 년 4 월에 직면했습니다. 이것들은 내가 시도한 옵션이며 마지막 솔루션이 나를 통과시킵니다.

문제:

요청 모듈은 Spyder IDE에서 사용할 때 잘 작동하지만 Windows에서 스크립트를 실행하려고하면 SSL 오류로 실패합니다. HTTP 요청에는 잘 작동하지만 HTTPS 요청의 경우 SSL 오류가 발생했습니다.

  1. Veify = True, False, Certs에도 지쳤습니다. 같은 오류 입니다.
  2. 인증서 제거-conda 인증서 제거- 작동하지 않음 업데이트 됨
  3. openssl, certifi- 여전히 동일한 오류 (참조 : https://github.com/ContinuumIO/anaconda-issues/issues/494 ) 추가됨
  4. 경로 변수- 동일한 오류
  5. Anaconda에서 새로운 환경 생성- 동일한 오류

문제를 해결 한 솔루션 :

해결 방법 : https://github.com/conda/conda/issues/8273

Anaconda3 \ Library \ bin에서 \ Anaconda3 \ DLL로 다음 파일을 복사했습니다.

libcrypto-1_1-x64. * libssl-1_1-x64. *


이것은 나에게도 효과적이었습니다! 모든 디버깅 단계를 수행해 주셔서 감사합니다. :)
Lou

2

Conda와 Python 2.7.2를 사용하는 Windows 10에서 비슷한 문제가 발생했습니다.

많은 솔루션을 시도한 후 해당 빌드에서 openssl에 문제가 있음을 제안하는 이 응답 을 발견했습니다.

파이썬을 3.7.1 (빌드 h33f27b4_4)로 다운 그레이드하면 모든 것이 잘 작동했습니다.


1

Anaconda Prompt 를 사용하는 경우 환경에 경로를 추가 할 필요가 없습니다 .

Anaconda 프롬프트를 시작하여 디렉토리로 변경하고 스크립트를 실행하거나 거기에서 편집기를 시작하십시오. 이렇게하면 전체 Anaconda 환경에 있고 SSL 오류가 중지됩니다.

명령 프롬프트와 Anaconda 프롬프트의 차이점은 무엇입니까? 명령 프롬프트와 아나콘다 프롬프트의 차이점에 대한 대답을 참조하십시오 .


1

Anaconda 설명서, Github 발행 티켓 등을 살펴보면서 몇 시간을 보낸 후 마침내 Windows 10 64 비트 (Anaconda 3.7)에서 작동하게했습니다. 나를 위해 일한 것은 https://slproweb.com/download/Win64OpenSSL-1_1_1d.exe 에서 Win64 OpenSSL v1.1.1d 바이너리 파일을 설치하는 것이 었습니다 .

참고 : 버전이 중요해 보입니다! 나는 1.1.0L (다른 의견과 응답에서 제안한대로)을 시도했지만이 버전에서는 문제가 지속되었습니다. 일부 OpenSSL 라이브러리를 설치 한 후에도 계속 문제가 발생하면 올바른 버전을 찾을 때까지 계속 시도하십시오. Windows 10의 Anaconda 3.7의 경우 올바른 것이 1.1.1d 인 것 같습니다. 나는 가벼운 버전을 시도하지 않았습니다.

상황이 작동하지 않았다 나를 위해 :


1

아나콘다를 새로 설치 한 후 pip 설치를 수행하는 동안 동일한 SSL 오류가 발생했습니다. 도움이 된 것은 pip 설치를 수행하기 전에 기본 환경을 활성화하는 것입니다. 를 수행 activate base하고 cmd에서 다음 파이썬 스크립트를 실행합니다. 또한 시도 할 수 있습니다 'conda run -n base python script.py'참조 - https://github.com/conda/conda/issues/8487


1

Windows 10 설치에서도 똑같은 일이 발생했습니다.

Anaconda3는 .NET libcrypto-1_1-x64.dll and libssl-1_1-x64.dll에서 복사하기 전에 Anaconda Navigator를 열지 않습니다 Anaconda3\Library\bin to \Anaconda3\DLL.

내가 한 번 pip 기본 환경에서 설치 작동했지만 내가 만든 다른 환경에서는 작동하지 않았습니다. 새로운 환경에서 위와 똑같이해야했습니다.

즉, 복사 libcrypto-1_1-x64.dll and libssl-1_1-x64.dll에서 \<env folder>\Library\bin\<env folder>\DLL는 벌금을했다 후.


0

웹 사이트로 이동 : 개발자 도구에서 다음 정보를 제공하고 헤더를 살펴 봅니다. (오른쪽 클릭-> 검사 한 다음 네트워크 탭을 열고 헤더 확인)

  • 요청 URL : http://www.msft.com/
  • 요청 방법 : GET
  • 상태 코드 : 200 OK
  • 원격 주소 : 205.178.189.130:80
  • 리퍼러 정책 : 다운 그레이드시 리퍼러 없음

따라서 HTTPS가 아닌 HTTP에 대한 요청을 수행해야합니다.

import requests


def Earlybird():
    url = 'http://msft.com/'
    response = requests.get(url)
    print(response.text)

if __name__ == '__main__':
    Earlybird()

0

참고 : 이 문제는 Windows 10에서 수정되었습니다. Windows 10의 가상 환경에서 동일한 문제가 발생했습니다. CMD를 관리자로 실행하고 새 가상 환경을 생성하면 문제가 해결되었습니다.

  • 관리자 권한으로 cmd 실행
  • 가상 환경 생성 (virtualenv .venv)
  • 가상 환경 활성화 .venv \ Scripts \ activate
  • Pip 설치 요청

0

내 Windows 10에서 다음을 수행하여 해결되었습니다.

mklink "C:\Users\hal\AppData\Local\Continuum\anaconda3\DLLs\libssl-1_1-x64.dll" "C:\Users\hal\AppData\Local\Continuum\anaconda3\Library\bin\libssl-1_1-x64.dll"

mklink "C:\ProgramData\Anaconda3\DLLs\libcrypto-1_1-x64.dll" "C:\ProgramData\Anaconda3\Library\bin\libcrypto-1_1-x64.dll"

0

VSCode를 사용하여 편집 및 디버그하고 저에게 도움이 된 유일한 해결책은 Windows에서 환경 변수를 편집하는 것이 었습니다. 분명히 이것은 문제를 일으키지 만 그것이 무엇인지 잘 모르겠습니다.

Anaconda 프롬프트 (sayth가 제안한대로)에서 실행하는 것은 나에게 옵션이 아닙니다. 또는 아마도 제안은 아나콘다 프롬프트를 실행하고 아나콘다 프롬프트에서 어떻게 든 VSCode를 시작하는 것이 었습니다. 합리적인 요청처럼 들리지 않습니다.

이것은 모든 사람에게 적용되는 명확한 글로벌 답변이없는 장기적인 만성 문제인 것으로 보입니다.



0

Windows 10에서 동일한 문제를 처리 한 후 솔루션은 매우 간단합니다.

  1. Anaconda 프롬프트 열기
  2. 운영 conda init
  3. 코드를 실행하려는 열려있는 Python 인터프리터 (PyCharm, Anaconda Prompt, cmd 등)를 닫았다가 다시 엽니 다.

코드를 다시 실행하면 작동합니다. Anaconda와 PyCharm을 모두 업그레이드했으며 실행할 때까지 모든 버전 조합에 문제가 있었는데 Paul Stevensconda init 의 답변과 매우 유사하게 PATH에 추가되었습니다 . # 3을 건너 뛰지 마십시오. PyCharm 또는 다른 인터프리터를 다시 시작하는 것이 중요합니다.


0

이 오류는 Python 3.7.3을 사용하는 VSCode에서 발생하지만 Python 3.7.0을 사용하는 Windows 10의 IDLE 편집기에서는 제대로 작동합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.