簡體   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