繁体   English   中英

由于 nest_asyncio.py 无法运行 Jupyter 笔记本

[英]Cannot run Jupyter notebooks due to nest_asyncio.py

我在带有英特尔芯片的 Mac 上通过pyenv使用 Python 3.9.9。 我使用pip install juypter 当我运行which jupyter我得到响应/Users/<username>/.pyenv/shims/jupyter ,所以 Jupyter 已经安装。 但是,当我运行jupyter notebook时,出现以下错误:

Traceback (most recent call last):
  File "/Users/<username>/.pyenv/versions/3.9.9/bin/jupyter-notebook", line 8, in <module>
    sys.exit(main())
  File "/Users/<username>/.pyenv/versions/3.9.9/lib/python3.9/site-packages/jupyter_core/application.py", line 264, in launch_instance
    return super(JupyterApp, cls).launch_instance(argv=argv, **kwargs)
  File "/Users/<username>/.pyenv/versions/3.9.9/lib/python3.9/site-packages/traitlets/config/application.py", line 845, in launch_instance
    app.initialize(argv)
  File "/Users/<username>/.pyenv/versions/3.9.9/lib/python3.9/site-packages/traitlets/config/application.py", line 88, in inner
    return method(app, *args, **kwargs)
  File "/Users/<username>/.pyenv/versions/3.9.9/lib/python3.9/site-packages/notebook/notebookapp.py", line 2141, in initialize
    self._init_asyncio_patch()
  File "/Users/<username>/.pyenv/versions/3.9.9/lib/python3.9/site-packages/notebook/notebookapp.py", line 2117, in _init_asyncio_patch
    nest_asyncio.apply()
  File "/Users/<username>/.pyenv/versions/3.9.9/lib/python3.9/site-packages/nest_asyncio.py", line 14, in apply
    raise ValueError('Can\'t patch loop of type %s' % type(loop))
ValueError: Can't patch loop of type <class 'NoneType'>

我以前从未见过这个错误,我对解决方案的搜索没有结果。 有任何想法吗?

面临类似问题并使用以下方法解决:

pip3 install --upgrade pip 
pip3 install jupyter

也许在你的情况下你应该使用pip3.9

您可以检查 pip 和 python 的匹配

python --version
python -m pip --version

看来是 jupyter 和 python 3.9 的问题:

https://github.com/jupyter/notebook/issues/5912

一种可能的解决方案是:

    • conda create -n py39 python=3.9
    • pip3安装--升级pip
    • pip3 安装 jupyter
    • 源激活py39
    • 运行 jupyter-notebook

此外,此问题包含 mac os 特定解决方案:

https://github.com/jupyter/notebook/issues/5872

显然这个错误发生在nest-asyncio=1.5.2问题)。 升级到nest-asyncio=1.5.3对我有用。 您可以运行以下命令来卸载现有版本并升级到1.5.3

pip uninstall nest-asyncio
pip install nest-asyncio==1.5.3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM