Предупреждение о закрытом сеансе клиента неизвестного происхождения - PullRequest
0 голосов
/ 01 октября 2018

Я использую стороннюю клиентскую библиотеку API, основанную на aiohttp.Библиотека не реализует своих клиентов в качестве контекстных менеджеров, но это не должно быть проблемой, если я всегда закрываю aiohttp.ClientSession вручную (верно?).

Проблема в том, что даже после тщательного выполнения этого явсе равно получите предупреждение Unclosed client session без какой-либо информации, откуда оно исходит.Я фиксирую трассировку предупреждений с помощью pytest -W error::ResourceWarning, но в результате получается просто

.Exception ignored in: <bound method ClientSession.__del__ of <aiohttp.client.ClientSession object at 0x10fc15ba8>>
Traceback (most recent call last):
  File "<PROJECT>/venv/lib/python3.6/site-packages/aiohttp/client.py", line 211, in __del__
    **kwargs)
ResourceWarning: Unclosed client session <aiohttp.client.ClientSession object at 0x10fc15ba8>

, то есть трассировка с одним кадром.

Может кто-нибудь сказать мне, что я делаю неправильноздесь и как я могу получить больше информации об этом предупреждении?

1 Ответ

0 голосов
/ 01 октября 2018

Запустите ваш код в режиме отладки.

Установите переменную окружения PYTHONASYNCIODEBUG=1 для просмотра расширенной информации.

В частности, aiohttp регистрирует трассировку к строке, которая использовалась для создания незамкнутогоClientSession объект.

...