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))