【问题标题】:SpaCy Install (extended) fails with pip installSpaCy 安装(扩展)因 pip 安装而失败
【发布时间】:2016-06-29 12:51:01
【问题描述】:

向我推荐了需要一个具有良好 POS 标记器的 Python 模块,用于德语 SpaCy。 在我的带有 Python 3.4 的 Win10 64Bit 上,我尝试按照其主页上的说明安装 SpaCy,首先准备 virtualenv(部分安装,Windows 在源代码 .env/bin/activate 处失败),然后使用 pip install。 由于这不太奏效,我通过 git cmd 从 github 克隆了 SpaCy,然后使用 virtualenv .env && source .env/bin/activate 在 Windows 控制台中继续,但在“源”处再次失败。 之后pip install -r requirements.txt 也失败了。

我尝试了pip install -U spacy,然后它似乎工作正常(没有错误消息),但是使用 SpaCy 的进一步命令(例如安装模型),使用python -m spacy.en.download --force 都失败了Error while finding spec for 'spacy.en.download' (<class 'ImportError'>: No module named 'spacy.attrs')

我做错了什么?如何确保顺利安装 SpaCy?当我尝试pip list 时,它至少在列表中。 提前谢谢大家!

【问题讨论】:

  • 这里模块已经安装成功,输出控制台+库pastebin.com/eGwsKc1V没有漏掉任何依赖?
  • 不确定这是否有很大帮助,但即使网站上说它与 3.3+ 兼容,我也只能使用 2.7。
  • 我遵循 SpaCys 网站上的每一步,所以我似乎无法识别任何缺失的依赖项:/ 我怀疑它仅适用于 2.7,但很高兴知道。倾向于认为从源代码安装时缺少任何东西,但升级 Spacy 也不能解决这个问题。

标签: python installation pip spacy


【解决方案1】:

我在使用 pip 安装 spacy 时也遇到了一些问题。我有两个建议给你:

  1. 尝试pip uninstall spacy 并重新安装。
  2. 使用 conda install spacy 而不是 pip 这对我来说很好。

【讨论】:

  • "conda install spacy" 为我工作,而不是 spacy 网站中建议的"conda install -c conda-forge spacy"。
【解决方案2】:

检查您使用的 pip 的默认版本。我有同样的问题。 我的默认安装 pip 版本设置为 python3,所以我尝试了

python3 -m spacy.en.download --force all

而不是

python -m spacy.en.download --force all

【讨论】:

    【解决方案3】:

    尝试删除它并重新安装:

    pip uninstall spacy
    
    pip install spacy
    python -m spacy download en
    

    【讨论】:

      【解决方案4】:

      Anaconda 和 Spacy 语言下载之间存在一些不兼容问题。 这是一个待处理的拉取请求来解决这个问题 https://github.com/explosion/spaCy/pull/1792

      【讨论】:

        【解决方案5】:

        在尝试使用 conda 安装 spacy 时,如果您在 Windows 64 上获得 PermissionError: [WinError 5] Access is denied,那么您可以直接在 Anaconda 提示符中创建的虚拟环境中键入以下代码,如 conda-forge docs 中所述:

        conda install -c conda-forge spacy
        

        【讨论】: