aiohttp - пример запущенного клиента "RuntimeError: SSL не поддерживается" - PullRequest
0 голосов
/ 17 июня 2019

Я просто пытаюсь просмотреть примеры aiohttp, но я получаю сообщение об ошибке с первым:

import aiohttp
import asyncio

async def fetch(session, url):
    async with session.get(url) as response:
        return await response.text()

async def main():
    async with aiohttp.ClientSession() as session:
        html = await fetch(session, 'http://python.org')
        print(html)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())

Запуск этого получает меня это:

Файл "C: \ ProgramData \ Anaconda2 \ envs \ asyncio \ lib \ site-packages \ aiohttp \ connector.py", строка 887, в _get_ssl_context поднять RuntimeError ('SSL не поддерживается.') RuntimeError: SSL не поддерживается.

  • Версия Python: 3.7.3
  • Версия aiohttp: 3.5.4

Я искал проблему репликации, но ничего не смог найти ... что наводит меня на мысль, что что-то не так с моей настройкой. Я запускаю это на Windows 8.1, используя Anaconda2 env.

Что происходит?

1 Ответ

0 голосов
/ 17 июня 2019

Aiohttp импортирует ssl следующим образом :

try:
    import ssl
    SSLContext = ssl.SSLContext
except ImportError:  # pragma: no cover
    ssl = None  # type: ignore
    SSLContext = object # type: ignore

Если тогда это все еще None, то возникает ошибка, указанная в вашем посте. Таким образом, в первую очередь попробуйте import ssl вручную. Это должно выглядеть примерно так:

>>> import ssl
>>> ssl
<module 'ssl' from '/usr/lib/python3.6/ssl.py'>

Если это не так, проверьте / переустановите настройку Python.

...