Jupyter Notebook Python 导入 Spacy 时出错:没有名为 click._bashcomplete 的模块

Jupyter Notebook Python Error while Importing Spacy : No module named click._bashcomplete

我的笔记本在 7 天前一直运行良好,那是我最后一次触摸它。现在我收到这个错误。

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-2-76a01d9c502b> in <module>
----> 1 import spacy

~\AppData\Roaming\Python\Python38\site-packages\spacy\__init__.py in <module>
     12 
     13 from . import pipeline  # noqa: F401
---> 14 from .cli.info import info  # noqa: F401
     15 from .glossary import explain  # noqa: F401
     16 from .about import __version__  # noqa: F401

~\AppData\Roaming\Python\Python38\site-packages\spacy\cli\__init__.py in <module>
      1 from wasabi import msg
      2 
----> 3 from ._util import app, setup_cli  # noqa: F401
      4 
      5 # These are the actual functions, NOT the wrapped CLI commands. The CLI commands

~\AppData\Roaming\Python\Python38\site-packages\spacy\cli\_util.py in <module>
      6 import srsly
      7 import hashlib
----> 8 import typer
      9 from click import NoSuchOption
     10 from click.parser import split_arg_string

~\AppData\Roaming\Python\Python38\site-packages\typer\__init__.py in <module>
     27 
     28 from . import colors as colors
---> 29 from .main import Typer as Typer
     30 from .main import run as run
     31 from .models import CallbackParam as CallbackParam

~\AppData\Roaming\Python\Python38\site-packages\typer\main.py in <module>
      9 import click
     10 
---> 11 from .completion import get_completion_inspect_parameters
     12 from .core import TyperArgument, TyperCommand
     13 from .models import (

~\AppData\Roaming\Python\Python38\site-packages\typer\completion.py in <module>
      8 
      9 import click
---> 10 import click._bashcomplete
     11 
     12 from .models import ParamMeta

ModuleNotFoundError: No module named 'click._bashcomplete'

更新:

我重新安装了spacy。现在我收到这个错误:

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-2-76a01d9c502b> in <module>
----> 1 import spacy

~\Anaconda3\lib\site-packages\spacy\__init__.py in <module>
      8 
      9 # These are imported as part of the API
---> 10 from thinc.neural.util import prefer_gpu, require_gpu
     11 
     12 from . import pipeline

ModuleNotFoundError: No module named 'thinc.neural'

然后我重新安装了 thinc,但错误并没有消失。我将尝试建议的其他答案。我输入更多是因为 Whosebug 不允许我保存编辑,因为它说我的 post 主要是代码。

编辑 2:

好的,所以我在重新安装 thinc 后重新安装了 spacy,现在它似乎可以正常工作了。呸..

卸载 click 和 spaCy,然后重新安装 spaCy。如果可能的话,最好从一个干净的环境开始,但至少只做这两项工作就可以了。

澄清一下,这是因为最新版本的 click 不适用于 spaCy。 spaCy 指定使用旧的点击版本,所以当你安装 spaCy 时会安装它,但如果你升级点击你自己的 spaCy 不会阻止你。

在我的例子中,我安装了较低版本的click。

pip install click==7.0

之后,我收到类似 'Exit module not found' 的错误,并且也安装了它

pip install Exit

重新启动我的笔记本,spacy 被导入,没有任何错误。

更新“Anaconda Navigator”后出现同样的错误。我只是用这个命令更新了 spacy 库:

pip install -U spacy
python -m spacy validate

然后重新启动我的笔记本,spacy 导入没有任何错误。