一尘不染

具有Python 3.8的Jupyter Notebook-NotImplementedError

python

最近升级到Python 3.8,并已安装jupyter。但是,当尝试运行时jupyter notebook出现以下错误:

  File "c:\users\user\appdata\local\programs\python\python38\lib\site-packages\tornado\platform\asyncio.py", line 99, in add_handler
    self.asyncio_loop.add_reader(fd, self._handle_events, fd, IOLoop.READ)
  File "c:\users\user\appdata\local\programs\python\python38\lib\asyncio\events.py", line 501, in add_reader
    raise NotImplementedError
NotImplementedError

我知道ProactorEventLoop默认情况下Windows上的Python 3.8已切换为默认设置,因此我怀疑它与此相关。

Jupyter目前不支持Python 3.8?有没有解决的办法?


阅读 232

收藏
2021-01-20

共1个答案

一尘不染

编辑

此问题存在于较早的Jupyter Notebook版本中,并已在 6.0.3 版(2020年1月21日发行)中修复。要升级到最新版本,请运行:

pip install notebook --upgrade

通过GitHub解决此问题后,问题似乎与tornadojupyter使用的服务器有关。

对于那些迫不及待要进行正式修复的用户,我可以tornado/platform/asyncio.py通过添加以下内容来编辑文件:

import sys

if sys.platform == 'win32':
    asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())

后主要进口。

我希望很快能对此进行正式修复。

2021-01-20