Запросы (вызвано SSLError ("Не удается подключиться к URL-адресу HTTPS, поскольку модуль SSL недоступен.") Ошибка на веб-сайте, запрашивающем PyCharm

Использование запросов в Python3 Windows через Pycharm и получение ошибки модуля 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? Я немного новичок в Python, так что спасибо за ваше терпение. -

Ответ 1

Не знаю, было ли это уже решено, но у меня возникали похожие проблемы с Anaconda python 3.7.3 и Idle в Windows 10. Исправлено, добавив:

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

к переменной PATH.

Ответ 2

Я решил проблему, установив OpenSSL в соответствии со следующими рекомендациями: https://github.com/conda/conda/issues/8046#issuecomment-450515815

Соответствующий билет в репо Conda: https://github.com/conda/conda/issues/8046

Обновление: проблема (в PyCharm) должна быть решена в версии 2019.1 (сборка Раннего предварительного просмотра уже доступна https://www.jetbrains.com/pycharm/nextversion/).

Ответ 3

Я установил двоичные файлы отсюда: https://slproweb.com/products/Win32OpenSSL.html Этот сайт упоминается в официальной вики OpenSSL. Это решило мою проблему

Ответ 5

Установите ниже пути. (Это для пользователя окна)

  • "\ Anaconda3"
  • "\ Anaconda3\сценарии"
  • "\ Anaconda3\Library\Bin"

В переменной среды => Переменная пользователя и закройте командную строку, если она уже открыта, и откройте ее снова.

Или же

Переменная среды => Системная переменная, если у вас более одного пользователя. если вы добавляете их в системную переменную, вам необходимо перезагрузить систему.

Ответ 6

перейти на сайт: дает мне следующую информацию из инструмента разработчика и глядя на заголовки. (щелкните правой кнопкой мыши → осмотреть. Затем откройте вкладку сети и проверьте заголовки)

  • URL запроса: http://www.msft.com/
  • Метод запроса: GET
  • Код состояния: 200 ОК
  • Удаленный адрес: 205.178.189.130:80
  • Политика реферера: no-referer-when-downgrade

Итак, мы видим, что нам нужно выполнить запрос к HTTP, а не HTTPS.

import requests


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

if __name__ == '__main__':
    Earlybird()

Ответ 7

У меня была похожая проблема на Windows 10 с использованием Conda и Python 2.7.2

Попробовав много-много решений, я наткнулся на этот ответ, который предположил, что в этой сборке есть проблема с openssl.

Как только я понизил Python до 3.7.1 (сборка h33f27b4_4), все работало нормально.

Ответ 8

Нет необходимости добавлять пути в среду, если вы используете Anaconda Prompt.

Запустите подсказку Anaconda, перейдите в ваш каталог и запустите ваш скрипт или запустите ваш редактор оттуда. Это гарантирует, что вы находитесь в полной среде Anaconda, и ошибка SSL прекратится.

В чем разница между командной строкой и Anaconda Prompt? Посмотрите этот SO ответ на вопрос, в чем разница между командной строкой и приглашением anaconda.

Ответ 9

Примечание. Эта проблема была исправлена в Windows 10. Я столкнулся с той же проблемой с виртуальной средой на Windows 10. Проблема была решена с запуском CMD в качестве администратора и созданием новой виртуальной среды.

  • Запустите cmd от имени администратора
  • создать виртуальную среду (virtualenv.venv)
  • активировать виртуальную среду .venv\Scripts\activate
  • Запросы на установку Pip

Ответ 10

Решил, выполнив в моих окнах 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"