Ответ 1
Не знаю, было ли это уже решено, но у меня возникали похожие проблемы с Anaconda python 3.7.3 и Idle в Windows 10. Исправлено, добавив:
<path>\Anaconda3
<path>\Anaconda3\scripts
<path>\Anaconda3\Library\bin
к переменной PATH.
Использование запросов в 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, так что спасибо за ваше терпение. -
Не знаю, было ли это уже решено, но у меня возникали похожие проблемы с Anaconda python 3.7.3 и Idle в Windows 10. Исправлено, добавив:
<path>\Anaconda3
<path>\Anaconda3\scripts
<path>\Anaconda3\Library\bin
к переменной PATH.
Я решил проблему, установив 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/).
Я установил двоичные файлы отсюда: https://slproweb.com/products/Win32OpenSSL.html Этот сайт упоминается в официальной вики OpenSSL. Это решило мою проблему
Установил этот https://slproweb.com/download/Win64OpenSSL-1_1_1c.exe из OpenSSL. Решил мою проблему.
Установите ниже пути. (Это для пользователя окна)
В переменной среды => Переменная пользователя и закройте командную строку, если она уже открыта, и откройте ее снова.
Или же
Переменная среды => Системная переменная, если у вас более одного пользователя. если вы добавляете их в системную переменную, вам необходимо перезагрузить систему.
перейти на сайт: дает мне следующую информацию из инструмента разработчика и глядя на заголовки. (щелкните правой кнопкой мыши → осмотреть. Затем откройте вкладку сети и проверьте заголовки)
Итак, мы видим, что нам нужно выполнить запрос к HTTP, а не HTTPS.
import requests
def Earlybird():
url = 'http://msft.com/'
response = requests.get(url)
print(response.text)
if __name__ == '__main__':
Earlybird()
У меня была похожая проблема на Windows 10 с использованием Conda и Python 2.7.2
Попробовав много-много решений, я наткнулся на этот ответ, который предположил, что в этой сборке есть проблема с openssl.
Как только я понизил Python до 3.7.1 (сборка h33f27b4_4), все работало нормально.
Нет необходимости добавлять пути в среду, если вы используете Anaconda Prompt.
Запустите подсказку Anaconda, перейдите в ваш каталог и запустите ваш скрипт или запустите ваш редактор оттуда. Это гарантирует, что вы находитесь в полной среде Anaconda, и ошибка SSL прекратится.
В чем разница между командной строкой и Anaconda Prompt? Посмотрите этот SO ответ на вопрос, в чем разница между командной строкой и приглашением anaconda.
Примечание. Эта проблема была исправлена в Windows 10. Я столкнулся с той же проблемой с виртуальной средой на Windows 10. Проблема была решена с запуском CMD в качестве администратора и созданием новой виртуальной среды.
Решил, выполнив в моих окнах 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"