SpaCy OSError:找不到模型“ en”
nlp
spacy
11
0

即使我下载了模型也无法加载

[jalal@goku entity-sentiment-analysis]$ which python
/scratch/sjn/anaconda/bin/python
[jalal@goku entity-sentiment-analysis]$ sudo python -m spacy download en
[sudo] password for jalal: 
Collecting https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz
  Downloading https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz (37.4MB)
    100% |████████████████████████████████| 37.4MB 9.4MB/s 
Installing collected packages: en-core-web-sm
  Running setup.py install for en-core-web-sm ... done
Successfully installed en-core-web-sm-2.0.0

    Linking successful
    /usr/lib/python2.7/site-packages/en_core_web_sm -->
    /usr/lib64/python2.7/site-packages/spacy/data/en

    You can now load the model via spacy.load('en')

import spacy 

nlp = spacy.load('en')
---------------------------------------------------------------------------
OSError                                   Traceback (most recent call last)
<ipython-input-2-0fcabaab8c3d> in <module>()
      1 import spacy
      2 
----> 3 nlp = spacy.load('en')

/scratch/sjn/anaconda/lib/python3.6/site-packages/spacy/__init__.py in load(name, **overrides)
     17             "to load. For example:\nnlp = spacy.load('{}')".format(depr_path),
     18             'error')
---> 19     return util.load_model(name, **overrides)
     20 
     21 

/scratch/sjn/anaconda/lib/python3.6/site-packages/spacy/util.py in load_model(name, **overrides)
    118     elif hasattr(name, 'exists'):  # Path or Path-like to model data
    119         return load_model_from_path(name, **overrides)
--> 120     raise IOError("Can't find model '%s'" % name)
    121 
    122 

OSError: Can't find model 'en'

我该如何解决?

如果我不使用sudo下载en模型,则会得到:

Collecting https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz
  Downloading https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz (37.4MB)
    100% |████████████████████████████████| 37.4MB 9.6MB/s ta 0:00:011   62% |████████████████████            | 23.3MB 8.6MB/s eta 0:00:02
Requirement already satisfied (use --upgrade to upgrade): en-core-web-sm==2.0.0 from https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz in /scratch/sjn/anaconda/lib/python3.6/site-packages
You are using pip version 10.0.0, however version 10.0.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

    Error: Couldn't link model to 'en'
    Creating a symlink in spacy/data failed. Make sure you have the required
    permissions and try re-running the command as admin, or use a
    virtualenv. You can still import the model as a module and call its
    load() method, or create the symlink manually.

    /scratch/sjn/anaconda/lib/python3.6/site-packages/en_core_web_sm -->
    /scratch/sjn/anaconda/lib/python3.6/site-packages/spacy/data/en


    Download successful but linking failed
    Creating a shortcut link for 'en' didn't work (maybe you don't have
    admin permissions?), but you can still load the model via its full
    package name:

    nlp = spacy.load('en_core_web_sm')
参考资料:
Stack Overflow
收藏
评论
共 8 个回答
高赞 时间 活跃

那好吧。事实证明,即使我的哪个Python正在显示anaconda python,当我使用python下载时,它仍将其链接到计算机上的python2.7 local。我使用以下命令修复了它:

$ sudo /scratch/sjn/anaconda/bin/python -m spacy download en
收藏
评论

对于Windows用户,只需将CMD作为管理员模式运行并运行

python -m spacy download en

这将正确链接您的en模块。那你可以用

nlp = spacy.load('en')
收藏
评论

如果您使用其他python版本,则可以运行:

sudo python3.6 -m spacy下载zh

和我一起,我的3.6版希望能帮助您解决问题!

收藏
评论

Windows上的Jupyter笔记本存在此问题,并已修复:

使用管理员权限打开Anaconda提示

执行> python -m spacy下载zh

收藏
评论

最终清除错误!

  • 尝试了多个选项,包括:

    python -m spacy download en

    conda install -c conda-forge spacy

    python -m spacy download en_core_web_sm

    python -m spacy link en_core_web_sm en

  • 自从使用我公司的Network以来,没有任何工作。最终,此命令像吊饰一样工作:-)

    pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz --no-deps

    • 更新为最新链接:

      pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz --no-deps

始终使用管理员权限打开Anaconda提示符/命令提示符,以避免链接错误!!!

感谢Github链接:-)

收藏
评论

通过使用sudo python ...您可以为与本地不同的python解释器安装模型。实际上,它在您的日志中表示spaCy模型已安装到/usr/lib64/python2.7/site-packages/而不是/scratch/sjn/anaconda/lib/python3.6/site-packages/

尝试运行python -m spacy download en ,它应该将模型安装到正确的目录。

收藏
评论

1)安装Spacy

$ python -m spacy download en

2)安装模型en_core_web_sm

$ python -m spacy download en_core_web_sm
>>> import spacy
>>> nlp = spacy.load("en_core_web_sm")
收藏
评论

如果您使用的是Windows,请尝试以管理员身份打开cmd提示符/ Powershell。仅当您以管理员身份运行命令提示符时,才会进行模型的空间链接(下载后)

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号