Что делать если ошибка RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Вот код:
import geometrydash as gd
async def robtopuser():
user = await gd.search_user("robtop")
print(user.name)
print(user.moderator)
robtopuser()
geometrydash это библиотека для взаимодействия с игрой Geometry Dash (Без await в 4 строчке всё равно та же ошибка) полная ошибка: C:\Users\matve\Desktop\dgdgdg.py:8: RuntimeWarning: coroutine 'robtopuser' was never awaited robtopuser() RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Ответы (2 шт):
У меня была такая же проблема, в функции main прописал вот такой в asyncio.run(robtopuser())
Библиотека geometrydash является асинхронной, так что ошибки в функции:
async def robtopuser():
user = await gd.search_user("robtop")
print(user.name)
print(user.moderator)
нет, всё написано правильно.
Ошибка RuntimeWarning: Enable tracemalloc to get the object allocation traceback возникает из-за того, что ваша асинхронная функция запускается синхронно:
robtopuser()
Нужно запустить функцию асинхронно, к примеру используя asyncio.run().
Исправленный код:
import geometrydash as gd
import asyncio
async def robtopuser():
user = await gd.search_user("robtop")
print(user.name)
print(user.moderator)
asyncio.run(robtopuser())
Также хотел бы подметить, что асинхронные функции не всегда следует запускать используя asyncio. К примеру, вы можете запустить асинхронную функцию из другой асинхронной функции используя await. Но первая функция должна запускаться используя asyncio.run(), или же другим образом используя тот же asyncio, прочитайте документацию.