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

89

Использование запросов в Python3 Windows через Pycharm и получение ошибки SSL Module Not Available

Я часами пытался понять, что могло быть причиной этого. Я переустановил 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, поэтому благодарим за терпение. -

Фрэнк Дрин
источник
Установил этот slproweb.com/download/Win64OpenSSL-1_1_1c.exe из OpenSSL. Решил мою проблему.
Матей Новосад

Ответы:

107

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

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

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

Пол Стивенс
источник
Хотя не знаю, почему мы должны экспортировать несколько путей, но у меня это работает, спасибо.
hui chen
1
ЭТО Сработало для меня! не "execstack ..." cmd, а вот этот! добавление пути / anaconda3 / library / bin сработало для меня
ERJAN
1
Не уверен, что понимаете, как / где нам нужно добавить эти 3 пути?
Alex Dana
Alex - добавьте эти элементы в переменную окружения PATH (например, см. Ответ Мукеша Метания / Neuron ниже)
Пол Стивенс
Куда мне добавить эти пути? Я пытаюсь запустить код Python из определенной папки, используяpython get-pip.py
Дэнни Херн
30

Я использую Windows 10, у меня возникла проблема с новой новой установкой Anaconda на python 3.7.4, этот пост на github решил мою проблему:

(источник: https://github.com/conda/conda/issues/8273 )

Цитирую:

"Мое решение: я скопировал следующие файлы

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

из D: \ Anaconda3 \ Library \ bin в D: \ Anaconda3 \ DLLs.

И это работает как шарм! "

Мэтт Днв
источник
4
Для меня все одинаковые версии. Windows 10 Miniconda с версией 3.7.4. Исправлено этим решением.
Кевин Васько
14

Пользователям Windows необходимо указать следующие пути:

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

На пользователя:

  1. Переменная открытой среды
  2. Нажмите User Variable
  3. Закройте командную строку, если она уже открыта, и снова откройте ее.

Для всей системы (требуется перезагрузка) :

  1. Переменная открытой среды
  2. Нажмите System Variable
  3. Перезагрузите Windows
Мукеш Метания
источник
12

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

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

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

Павел Каратеев
источник
9

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

Сиддху
источник
1
там много бинарников, какой именно? Было бы здорово сделать точную ссылку или скриншот. Я использовал первую ссылку с файлом MSI, и она сработала, спасибо другу: slproweb.com/download/Win64OpenSSL_Light-1_1_1b.msi
Степан Яковенко
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, так как обновление не показывалось, а затем переустановил его.
    • побежал 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.

Codeherk
источник
5

Я столкнулся с этим 04/2020. Это варианты, которые я пробовал, и последнее решение помогло мне.

Проблема:

Модуль запросов работает нормально, когда я использую Spyder IDE, но когда я пытаюсь выполнить скрипт в Windows, он не работает с ошибкой SSL. Он отлично работает для HTTP-запросов, но для HTTPS-запросов я получил ошибку SSL.

  1. Устал с Veify = True, False, тоже с Certs. Та же ошибка .
  2. Удален Certifi - conda remove certifi - не работал Обновлено
  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. *

Дхина Каран
источник
У меня это тоже сработало! Спасибо, что прошли все этапы отладки :)
Лу
2

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

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

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

Гаррироббинс
источник
1

Если вы используете Anaconda Prompt, добавлять пути к среде не нужно .

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

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

говорит
источник
1

Потратив несколько часов на изучение документации Anaconda, тикетов Github и т. Д., Мне, наконец, удалось заставить его работать в 64-разрядной версии Windows 10 (Anaconda 3.7). У меня это сработало, так это установка двоичного файла Win64 OpenSSL v1.1.1d с https://slproweb.com/download/Win64OpenSSL-1_1_1d.exe .

ЗАМЕТКА . Версия имеет значение! Я пробовал 1.1.0L (как предлагалось в других комментариях и ответах), но с этой версией проблема не исчезла. Если после установки некоторых библиотек OpenSSL у вас по-прежнему возникают проблемы, продолжайте попытки, пока не найдете нужную версию. Для Anaconda 3.7 в Windows 10 кажется, что правильным является версия 1.1.1d. Лёгкую версию не пробовал.

То, что у меня не сработало :

Пабло Р. Майер
источник
1

Обнаружена та же ошибка SSL при установке pip после новой установки anaconda. Что помогло, так это активация базовой среды перед установкой pip. Выполните команду activate basefrom cmd, а затем запустите свой скрипт python. Вы также можете попробовать 'conda run -n base python script.py'ссылку - https://github.com/conda/conda/issues/8487

MSR
источник
1

У меня было то же самое при установке Windows 10.

Anaconda3 не открывалась Anaconda Navigator , прежде чем я скопировал libcrypto-1_1-x64.dll and libssl-1_1-x64.dllс 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то работало нормально.

CypherCrypt
источник
1

После решения той же проблемы в Windows 10 решение довольно простое:

  1. Открыть подсказку Anaconda
  2. Бежать conda init
  3. Закройте и снова откройте все открытые интерпретаторы Python (PyCharm, Anaconda Prompt, cmd и т. Д.), В которых вы хотите запустить свой код.

Запустите свой код еще раз, и он должен работать. Я обновил и Anaconda, и PyCharm, и у меня была проблема со всеми комбинациями версий, пока я не запустил conda init, что добавляет к вашему PATH, как и ответ от Пола Стивенса . Не пропускайте №3 - перезапуск PyCharm или любого другого интерпретатора является ключевым.

Кевинмике
источник
0

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

  • URL-адрес запроса: http://www.msft.com/
  • Метод запроса: ПОЛУЧИТЬ
  • Код состояния: 200 ОК
  • Удаленный адрес: 205.178.189.130:80
  • Политика реферера: без реферера при понижении рейтинга

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

import requests


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

if __name__ == '__main__':
    Earlybird()
NemoMeMeliorEst
источник
0

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

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

Решено, выполнив следующие действия в моих окнах 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 для редактирования и отладки, и единственное решение, которое сработало для меня, было редактировать переменные среды в окнах. Очевидно, это вызывает проблемы, но я не уверен, что они собой представляют.

Запуск из приглашения Anaconda (как было предложено сайтом) НЕ был для меня вариантом. Или, возможно, предлагалось запустить приглашение анаконды, а из приглашения анаконды каким-то образом запустить VSCode. Не похоже на разумную просьбу.

Похоже, что это давняя хроническая проблема без окончательного глобального ответа, подходящего для всех.

user2556468
источник
0

Эта ошибка возникает в VSCode с Python 3.7.3, но отлично работает в редакторе IDLE в Windows 10 с Python 3.7.0.

ebeb
источник
0

Убедитесь, что вы создаете проект с выбранной опцией среды conda.

Моя проблема решена путем воссоздания проекта и выбора «conda» в параметрах «Новая среда с использованием».

см. изображение:

Настройка новой среды

у. bs
источник
0

В Windows 10 - это обходной путь, который, однако, не решает основную проблему, если вам просто нужно что-то установить и двигаться дальше; Выполните следующее в командной строке, PowerShell или dockerfile:

pip config set global.trusted_host "pypi.org files.pythonhosted.org"

Лоуренс Патрик
источник
0

Я также столкнулся с той же проблемой на машинах моих товарищей по команде. Исправлено то же самое с добавлением пути анаконды. В моей системе ниже указан путь Анаконды:

C:\ProgramData\Anaconda3\Scripts
C:\ProgramData\Anaconda3\
C:\ProgramData\Anaconda3\Library\bin
Хитеш Тивари
источник
-2

Я использую этот "Win64 OpenSSL v1.1.1h" -> EXE из https://slproweb.com/products/Win32OpenSSL.html

я установил и работает

Фернандо Фуэнтес
источник
2
Добро пожаловать в StackOverflow! Это решение уже предлагалось в других ответах . Перед публикацией убедитесь, что ваше решение новое.
Сергей Шубин