The exception comes from Tornado invoking the asyncio event loop method add_reader which is not supported on Windows.
The Tornado documentation states the following about platforms:
Platforms: Tornado should run on any Unix-like platform, although for the best performance and scalability only Linux (with epoll
) and BSD (with kqueue
) are recommended for production deployment (even though Mac OS X is derived from BSD and supports kqueue, its networking performance is generally poor so it is recommended only for development use). Tornado will also run on Windows, although this configuration is not officially supported and is recommended only for development use. Without reworking Tornado IOLoop interface, it’s not possible to add a native Tornado Windows IOLoop implementation or leverage Windows’ IOCP support from frameworks like AsyncIO or Twisted.
The last sentence means that the asyncio part of Tornado does not yet work on Windows.