AttributeError: module 'asyncio' has no attribute 'create_task' AttributeError: module 'asyncio' has no attribute 'create_task' python-3.x python-3.x

AttributeError: module 'asyncio' has no attribute 'create_task'


The create_task top-level function was added in Python 3.7, and you are using Python 3.6. Prior to 3.7, create_task was only available as a method on the event loop, so you can invoke it like that:

async def main():    loop = asyncio.get_event_loop()    task1 = loop.create_task(async_say(4, 'hello'))    task2 = loop.create_task(async_say(6, 'world'))    # ...    await task1    await task2

That works in both 3.6 and 3.7, as well as in earlier versions. asyncio.ensure_future will work as well, but when you know you're dealing with a coroutine, create_task is more explicit and is the preferred option.


I did like this

if __name__ == '__main__':        asyncio.get_event_loop().run_until_complete(scheduled(4))