【问题标题】:Cannot get Jupyter Notebook To Run - "Cannot Import Name AsyncGenerator"无法让 Jupyter Notebook 运行 - “无法导入名称 AsyncGenerator”
【发布时间】:2020-03-30 09:24:22
【问题描述】:

有人对如何解决此问题有任何建议吗?我没有使用 Anaconda。我的 Jupyter 版本是 1.0.0。

Traceback (most recent call last):
  File "c:\python36\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\python36\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "c:\python36\lib\site-packages\ipykernel_launcher.py", line 15, in <module>
    from ipykernel import kernelapp as app
  File "c:\python36\lib\site-packages\ipykernel\__init__.py", line 2, in <module>
    from .connect import *
  File "c:\python36\lib\site-packages\ipykernel\connect.py", line 13, in <module>
    from IPython.core.profiledir import ProfileDir
  File "c:\python36\lib\site-packages\IPython\__init__.py", line 56, in <module>
    from .terminal.embed import embed
  File "c:\python36\lib\site-packages\IPython\terminal\embed.py", line 16, in <module>
    from IPython.terminal.interactiveshell import TerminalInteractiveShell
  File "c:\python36\lib\site-packages\IPython\terminal\interactiveshell.py", line 19, in <module>
    from prompt_toolkit.enums import DEFAULT_BUFFER, EditingMode
  File "c:\python36\lib\site-packages\prompt_toolkit\__init__.py", line 16, in <module>
    from .application import Application
  File "c:\python36\lib\site-packages\prompt_toolkit\application\__init__.py", line 1, in <module>
    from .application import Application
  File "c:\python36\lib\site-packages\prompt_toolkit\application\application.py", line 38, in <module>
    from prompt_toolkit.buffer import Buffer
  File "c:\python36\lib\site-packages\prompt_toolkit\buffer.py", line 28, in <module>
    from .application.current import get_app
  File "c:\python36\lib\site-packages\prompt_toolkit\application\current.py", line 8, in <module>
    from prompt_toolkit.eventloop.dummy_contextvars import ContextVar  # type: ignore
  File "c:\python36\lib\site-packages\prompt_toolkit\eventloop\__init__.py", line 1, in <module>
    from .async_generator import generator_to_async_generator
  File "c:\python36\lib\site-packages\prompt_toolkit\eventloop\async_generator.py", line 5, in <module>
    from typing import AsyncGenerator, Callable, Iterable, TypeVar, Union
ImportError: cannot import name 'AsyncGenerator'

非常感谢。

【问题讨论】:

  • 你用的是什么版本的 Python?
  • 我使用的是 3.6.0 版本

标签: python jupyter-notebook jupyter


【解决方案1】:

原因是prompt_toolkit的版本不匹配Python 3.6

解决办法是降低版本

pip install --upgrade prompt-toolkit==2.0.1

【讨论】:

    【解决方案2】:

    根据与相同错误文本相关的 Github 问题:https://github.com/python/typing/issues/530,这是 Python 3.6.1 中修复的错误。

    由于您使用的是 Python 3.6.0,因此您应该将您的版本升级到 3.6.1 或更高版本以解决此问题。

    另外一种解决方法是设置

    if TYPE_CHECKING: from typing import AsyncGenerator
    

    【讨论】:

    • 抱歉恢复它,但我应该在哪里设置它?我有同样的问题,但由于我的项目限制,我无法升级到 3.6.1,所以我需要坚持这个解决方法
    【解决方案3】:

    我在 CONDA 环境中遇到了这个错误:

    1. 不得不像这样卸载软件包:

    conda remove -n pyspark_env prompt_toolkit

    1. 再次安装如上here:

    conda install -c https://conda.anaconda.org/conda-forge prompt_toolkit

    Python 3.7,prompt_toolkit - 3.0.2,2021 年 11 月

    【讨论】:

      猜你喜欢
      • 2021-04-25
      • 2021-07-04
      • 2019-03-23
      • 1970-01-01
      • 2021-06-13
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 2023-04-11
      相关资源
      最近更新 更多