Jupyter Notebook with Python 3.8 - NotImplementedError
Solution 1:
EDIT
This issue exists in older versions of Jupyter Notebook and was fixed in version 6.0.3 (released 2020-01-21). To upgrade to the latest version run:
pip install notebook --upgrade
Following on this issue through GitHub, it seems the problem is related to the tornado
server that jupyter uses.
For those that can't wait for an official fix, I was able to get it working by editing the file tornado/platform/asyncio.py
, by adding:
import sys
if sys.platform == 'win32':
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
After the main imports.
I expect an official fix for this soon, however.
Solution 2:
Revising the answer in 2019
Change the end part of the file
C:\Users\{USER-NAME}\AppData\Local\Programs\Python\Python38\Lib\asyncio\__init__.py
From
if sys.platform == 'win32': # pragma: no cover
from .windows_events import *
__all__ += windows_events.__all__
else:
from .unix_events import * # pragma: no cover
__all__ += unix_events.__all__
To
import asyncio
if sys.platform == 'win32':
from .windows_events import *
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
__all__ += windows_events.__all__
else:
from .unix_events import * # pragma: no cover
__all__ += unix_events.__all__
Solution 3:
For me, I had to reinstall asyncio
pip install asyncio --upgrade
And upgrade the kernel package
pip install ipykernel --upgrade