Python Asnycio-RuntimeError:应在任务未关闭的客户端会话中使用超时上下文管理器

Python Asnycio-RuntimeError:应在任务未关闭的客户端会话中使用超时上下文管理器,python,asynchronous,async-await,python-asyncio,aiohttp,Python,Asynchronous,Async Await,Python Asyncio,Aiohttp,我试图从一个使用包装器的api获得一些响应 我寻找更多的错误,但他们没有解决我的问题。我不太了解等待一个功能或协同程序。我关闭了is_asnyc,它工作了,但我需要这个选项。所以我不能关掉它 import clashoyale,asyncio token=“我的代币” cr=clashoyale.official\u api.Client(token=token,is\u async=True) 异步def top(): p=等待cr。获得顶级球员() 返回p topplayers=asynci

我试图从一个使用包装器的api获得一些响应

我寻找更多的错误,但他们没有解决我的问题。我不太了解等待一个功能或协同程序。我关闭了is_asnyc,它工作了,但我需要这个选项。所以我不能关掉它

import clashoyale,asyncio
token=“我的代币”
cr=clashoyale.official\u api.Client(token=token,is\u async=True)
异步def top():
p=等待cr。获得顶级球员()
返回p
topplayers=asyncio.run(top())
我希望它只是从api获取信息,但出现了一个错误-

RuntimeError: Timeout context manager should be used inside a task
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x000001774361A3C8>
RuntimeError:应在任务内部使用超时上下文管理器
未关闭的客户端会话
客户端会话:

尝试将客户端的初始化移动到异步方法中。它可能尝试使用异步超时上下文管理器,由于您不在任务中,因此任务失败

,这不是一个错误,只是一个警告,表明客户端没有关闭连接。但是你在标题中提到的错误在哪里?哦,我没有看到错误行没有显示,你能告诉我为什么会出现警告吗?谢谢,但你能告诉我如何删除这些警告-
Unclosed client session client\u session:Unclosed connector connections:['[(,35757.515)]]连接器:
我还必须在每个函数中定义客户端初始化。你能告诉我其他的方法吗?我不必每次都定义它。我会在main方法中定义一次,然后发送它。此外,您可以在结束时关闭会话。类似这样的东西好吧,谢谢,但是因为您在main中定义了它,所以我将使用类,我找到了这样做的方法。