【问题标题】:PyCharm can't find Spacy Model 'en'PyCharm 找不到 Spacy 模型“en”
【发布时间】:2018-10-06 09:30:57
【问题描述】:

我正在尝试在我的 PyCharm 中从 SpaCy 加载 NLP 模型“en”,并且我正在使用 Python 2.7。
我加载“en”模型的代码是 nlp = spacy.load('en', disable=['parser', 'ner'])
但是,我收到以下错误
IOError: [E050] Can't find model 'en'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
然后发现我没有下载模型,于是我用PyCharm中提供的终端下载模型,我用python -m spacy download en

这是以下输出:

已满足要求:来自https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0 的 en_core_web_sm==2.0.0。 tar.gz#egg=en_core_web_sm==2.0.0 在 c:\python27\lib\site-packages
您使用的是 pip 版本 9.0.1,但版本 18.0 可用。
您应该考虑通过“python -m pip install --upgrade pip”命令进行升级。
您没有足够的权限来执行此操作。

链接成功 C:\Python27\lib\site-packages\en_core_web_sm --> C:\Python27\lib\site-packages\spacy\data\en

您现在可以通过 spacy.load('en') 加载模型

所以我很困惑......我认为我无法下载“en”模型,因为我没有足够的权限这样做,但是链接是如何成功的?
看到此消息后,我尝试再次运行我的 Python 文件(因为终端表示链接成功)但最初的错误再次弹出。

有没有人遇到过这个问题,或者知道如何解决这个错误?我如何能够“升级”我在 PyCharm 终端中的权限,以便我能够下载模型?

【问题讨论】:

    标签: python python-2.7 nlp spacy


    【解决方案1】:

    我不知道它是否仍然相关,但我也遇到了。该模块在 Jupyter Notebook 上加载得很好,但在我的 PyCharm 中却没有。要解决它,请使用 PyCharm 中的项目解释器(使用 ctrl + alt + s)。查看您正在使用的解释器的完整路径。然后以这样的方式在终端上使用它:

    FULL_PATH_TO_PYTHON_INTERPRTER -m spacy download en
    

    它现在应该可以在您的 PyCharm 中工作了。

    【讨论】:

      【解决方案2】:

      Spacy 解释了几种下载模型的方法: https://spacy.io/usage/models#download

      使用python -m

      # Download best-matching version of specific model for your spaCy installation
      python -m spacy download en_core_web_sm
      
      # Out-of-the-box: download best-matching default model and create shortcut link
      python -m spacy download en
      
      # Download exact model version (doesn't create shortcut link)
      python -m spacy download en_core_web_sm-2.2.0 --direct
      

      使用pip

      # With external URL
      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
      
      # With local file
      pip install /Users/you/en_core_web_sm-2.2.0.tar.gz
      

      使用手动下载

      https://spacy.io/usage/models#download-manual

      现在如何使用 PyCharm 下载它?

      我尝试通过在虚拟环境 (venv) 中安装 URL 包 Project Interpreter 来做到这一点:

      https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz

      但是 Pycharm 无法直接安装 tar。


      解决方案: 最后我只是在requirements.txt中添加tar的github URL,然后PyCharm会为你安装。

      requirements.txt 中添加 this below

      # spacy
      spacy
      # spacy model
      https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz
      

      您可以在 github 发布页面上为所有模型执行此操作:https://github.com/explosion/spacy-models/releases/

      【讨论】:

        【解决方案3】:

        实际上,当您下载新的 spacy 模型时会发生这种情况,如 Spacy 中所示:

        下载命令将通过 pip 安装模型,将包放在 site-packages 目录中,并创建一个快捷链接,让您可以通过自定义名称加载模型。快捷方式链接将与 spacy 下载中使用的模型名称相同。

        您似乎是在系统级别安装,因此请尝试以“以管理员身份运行”运行它,或者您也可以尝试 virtualenv 选项。忽略链接成功的消息,因为它只是一个快捷方式。

        您也可以参考this 获取详细的故障排除指南。

        【讨论】:

          【解决方案4】:

          转到您的 virtualenv,然后通过以下方式激活 venv:

          source venv/bin/activate

          然后当它被激活时输入: python -m spacy download en_core_web_sm

          然后通过以下方式停用 virtualenv: deactivate

          【讨论】:

            【解决方案5】:

            如果您使用模型的直接链接,请确保使用链接下载的模型文件

            python -m spacy link [package name or path] [shortcut] [--force]
            

            通常模型文件在your-python-environment/lib/site-packages/下下载。 下载 tar 并解压缩模型文件后,您应该会看到名为 en 的文件夹。 请参阅this 链接了解更多信息

            【讨论】:

              【解决方案6】:

              您可以为 Python 设置系统变量或打开 CMD

              C:\ CD ... 转到安装了 python.exe 或 python 解释器的目录

              C:\解释器路径> python -m spacy 下载 en_core_web_sm

              完成,它将安装软件包。您需要确保的是解释器的路径,如果它是常见的,或者甚至更好地从项目中获取路径。

              【讨论】:

                猜你喜欢
                • 2023-03-08
                • 1970-01-01
                • 1970-01-01
                • 2020-01-23
                • 2018-09-30
                • 2021-02-20
                • 2021-05-11
                • 1970-01-01
                • 2021-07-25
                相关资源
                最近更新 更多