Запити (спричинені помилкою SSLError (“Не вдається підключитися до URL-адреси HTTPS, оскільки модуль SSL недоступний.“) Помилка в PyCharm із запитом веб-сайту


86

Використання запитів у 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, тож дякую за ваше терпіння. -


Встановив цей файл slproweb.com/download/Win64OpenSSL-1_1_1c.exe з OpenSSL. Вирішив мою проблему.
Матей Новосад

Відповіді:


102

Не знаю, чи це ще вирішено, але я отримував подібні проблеми з 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 спрацювало для мене
ЕРЖАН

1
Не впевнений, що розумію, як / де ми повинні додати ці 3 шляхи?
Алекс Дана

Алекс - додай ці елементи до змінної середовища PATH (наприклад, див. Відповідь Мукеша Метанії / Нейрона нижче)
Пол Стівенс,

Де я повинен додати ці шляхи? Я намагаюся запустити код python із певної папки, використовуючиpython get-pip.py
Danny Hern

25

Я працюю в 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 \ DLL.

І це працює як оберег! "


4
Мені однакові версії всього. Windows 10 Miniconda, який мав 3.7.4. Виправлено цим рішенням.
Кевін Васько

2
Працював у мене. Дякую!
Тім Готттрей,

13

Користувачам Windows потрібно встановити нижче шляхи:

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

На користувача:

  1. Змінна Open Environment
  2. Клацніть User Variable
  3. Закрийте командний рядок, якщо він уже відкритий, і відкрийте його знову

По всій системі (вимагає перезавантаження) :

  1. Змінна Open Environment
  2. Клацніть System Variable
  3. Перезапустіть Windows

12

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

Відповідний квиток у конда-репо: https://github.com/conda/conda/issues/8046

Оновлення: проблема (у PyCharm) повинна бути вирішена у версії 2019.1 (збірка попереднього перегляду вже доступна 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.


5

Я зіткнувся з цим 04/2020. Це варіанти, які я спробував, і останнє рішення допоможе мені.

Проблема:

Модуль запитів працює нормально, коли я використовую в 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. Створено нове середовище в Анаконді - та сама помилка

Рішення, яке це виправило:

Рішення з: 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, немає потреби додавати шляхи до середовища .

Запустіть зміну підказки Anaconda до вашого каталогу та запустіть скрипт або запустіть редактор звідти. Це гарантує, що ви знаходитесь у повному середовищі Anaconda, а помилка SSL припиниться.

У чому різниця між командним рядком та рядком Anaconda? Подивіться цю відповідь SO на те, в чому різниця між командним рядком та рядком anaconda .


1

Провівши кілька годин, переглядаючи документацію Anaconda, Github видавав квитки тощо, нарешті мені вдалося змусити її працювати на Windows 10 64-bit (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 після нової інсталяції анаконди. Що допомогло, це активація базового середовища перед тим, як виконувати встановлення pip. Виконайте activate baseкоманду з cmd, а потім запустіть скрипт python. Ви також можете спробувати 'conda run -n base python script.py'посилання - https://github.com/conda/conda/issues/8487


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тоді він працював нормально.


0

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

  • URL-адреса запиту: http://www.msft.com/
  • Метод запиту: GET
  • Код стану: 200 OK
  • Віддалена адреса: 205.178.189.130:80
  • Політика перенаправлення: no-referrer-when-downgrade

Отже, ми бачимо, що нам потрібно виконати запит на HTTP, а не на HTTPS.

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 для редагування та налагодження, і єдиним рішенням, яке працювало для мене, було редагування змінних середовища у вікнах. Очевидно, це спричиняє проблеми, але я не впевнений, що це таке.

Запуск від підказки Anaconda (як запропонував sayth) для мене НЕ був варіантом. Або, можливо, пропозиція полягала в тому, щоб запустити підказку anaconda, а з підказки anaconda якось запустити VSCode. Це не звучить як розумне прохання.

Це, здається, тривала хронічна проблема без остаточної глобальної відповіді, яка працює для всіх.



0

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

  1. Відкрийте підказку Anaconda
  2. Біжи conda init
  3. Закрийте та знову відкрийте будь-які відкриті інтерпретатори Python (PyCharm, Підказка Anaconda, cmd тощо), де ви хочете запустити свій код

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


0

Ці помилки трапляються у VSCode з Python 3.7.3, але чудово працюють у редакторі IDLE у Windows 10 з Python 3.7.0.


-1

Я використовую цей "Win64 OpenSSL v1.1.1h" -> EXE з https://slproweb.com/products/Win32OpenSSL.html

я встановив його і працює


2
Ласкаво просимо до StackOverflow! Це рішення вже було запропоновано в інших відповідях . Перш ніж публікувати його, переконайтеся, що ваше рішення нове.
Сергій Шубін
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.