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

Использование запросов в 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, так что спасибо за ваше терпение. -

Ответы [ 8 ]

0 голосов
/ 25 июля 2019

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

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

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

0 голосов
/ 20 мая 2019

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

  • "\ Anaconda3"
  • "\ Anaconda3 \ скриптов"
  • "\ Anaconda3 \ Library \ Bin"

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

или

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

0 голосов
/ 01 июля 2019

Установил это https://slproweb.com/download/Win64OpenSSL-1_1_1c.exe из OpenSSL. Решил мою проблему.

0 голосов
/ 11 апреля 2019

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

0 голосов
/ 11 апреля 2019

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

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

в переменную PATH.

0 голосов
/ 03 марта 2019

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

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

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

0 голосов
/ 16 января 2019

Я получил решение, установив 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/).

0 голосов
/ 11 января 2019

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

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

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

import requests


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

if __name__ == '__main__':
    Earlybird()
...